Chrome上でWordPressページ内の空白がビックリマーク(!エクスクラメーション)で表示されてしまう

Google ChromeでWordPressページ内の空白が!(ビックリマーク、感嘆符、エクスクラメーション)で表示されてしまう不具合に遭遇したことはありませんか?

↓こんな感じです。

⇒ 

IEやFirefoxでは問題ないのに Google Chrome だけ半角の空白が!(ビックリマーク、感嘆符、エクスクラメーション)で表示されてしまうという不具合です。
これはGoogle Chrome のレンダリングの問題ということになると思いますが当方の環境では、
・Google Chrome バージョン 26.0.1410.43 m
・WordPress バージョン 3.5.1 (テンプレート「twentytwelve」使用)
で少なくとも発生します。

続きを読む ›

タグ: ,
カテゴリー: WEB, WordPress

「Flashを使わなくてもここまでできるのか」と関心したWEBサイト2つ

ここ最近、比較的たくさんのWEBサイトを見て回る機会があったのですが、その中で

「よくできてるなー」

と関心したWEBサイトを二つだけご紹介します。

どこに一番関心したかと言うと、どちらもFlashを使わなくてもJavascriptだけでこんな表現が実装できるのかー、

ということです。

まず一つ目は「レゴランド・ディスカバリー・センター」さんのオフィシャルWEBサイト。

マウスを左右上下に動かすと、メインの画像イメージも左右上下に動く分けですが、

左右上下の移動距離が奥行き感のあるレイヤー毎に微妙に異なるので、すごく立体感が表現さています。

ちょっと感激しました。

作りとしては、至極大まかに言うと、

■遠近それぞれのレイヤー毎の画像群を1つのDIVブロックにしてposition:abusolute で配置

■mousemoveイベント処理で遠近レイヤーブロック毎に動く距離を変えている。閲覧者に近い(と思わせたい)レイヤーは大きく、遠い(と思わせたい)レイヤーは小さく動かす

ということかと思います。

⇒ いわゆる パララックス(parallax) というやつですね。

もう一つは、「ÉDITO 365 [エディト・トロワ・シス・サンク]」さんのサイト。

モノトーンの画像がいくつかタイル状に並べられています。

マウスカーソルをどれかの画像に合わせると。。。

モノトーンのイメージ不透明になって行くと同時に、同じ内容のカラー画像イメージが下に少しスライドしながら現れてくる。下にスライドした分の上の余白に見出し文字が現れる。

という動きをします。

このトップページは全ファイルのロードが6MBもあってちょっと多いですが、最初にナビゲーションメニューを表示して画像のロード中はWAITマークが表示されるという配慮もされています。

こちらも、大まかな作りとしては

■グレースケールの画像 Canvasタグ、カラーの画像 Divタグ、見出しのH1タグ をposition:absolute で配置

■mouseoverイベント処理で、不透明度、位置を調整 (この場合はmargin-topで調整しているようです)。

となっているようです。

カテゴリー: WEB

LIBQ.dllが見つからなかったため、このアプリケーションを開始できませんでした。

Windows環境でPHPのプログラムを実行していると、

「LIBPQ.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。」

というメッセージが表示されてしまう現象が発生しました。

Windows版PHPのフロントエンドアプリケーションのためのPostgresql関連のアクセスライブラリファイルがこの
libpq.dll
です。 どうも、環境を再構築してからこのエラーメッセージが表示されるようになったと思ったら、このファイルが
C:\WINDOWS\system32
にありませんでした。(当方の環境はWindows XP)

さっそくネットで見つけて解決! と思いきや、バージョンに合った正しいものを使わないといけないようで注意が必要です。

http://www.interwiz.koganei.tokyo.jp/software/PostgreSQL/windows.html
注)上のページの解説は分かり易いのですが、このページでリンクされている libpg.dll のダウンロード先は、
私のPHPとPostgreSQLのバージョンの組み合わせでには合っていませんでした。
「序数 86 がダイナミックライブラリ LIBPQ.dll から見つかりませんでした。」
という、変な別のエラーが出るようになってしまいます。当方と似たようなバージョンを使っている方は注意してください。

当方の環境は PHP 5.2.6 + PostgreSQL 8.2.21 です。
この組み合わせに合ったのは、次のリンク先の libpq-8.4.13.zip から取得したものでした。

http://www.hi-ho.ne.jp/a_ogawa/libpq/index.htm

これでエラーは出なくなりました。

タグ:
カテゴリー: PHP

Google Adsense 広告のレスポンシブ・ウェブデザイン

WEBサイトにレスポンシブ・ウェブデザインを採用する際に、GoogleのAdsense広告をどうしたら良いかが悩みどころです。

海外のサイトで簡単な方法を公開している人がいます。

How to use Google AdSense Ads on Responsive Websites

なるほどAdsenseの埋め込みコードを少しいじる方法のようです。

Javascriptのwindow.innerWidthでブラウザの幅を検知して、幅に合わせて、

google_ad_slot = “<広告ユニットのID>”;
google_ad_width = <広告ユニットの幅>;
google_ad_height = <広告ユニットの高さ>;

を切り替えるように変更する方法です。

<!--
    google_ad_client = "ca-<サイト運営者ID>";
    if (window.innerWidth >= 800) {
        google_ad_slot = "広告ユニットAのID";
        google_ad_width = 728;
        google_ad_height = 60;
    } else if (window.innerWidth < 400) {
        google_ad_slot = "広告ユニットBのID";
        google_ad_width = 300;
        google_ad_height = 250;
    } else {
        google_ad_slot = "広告ユニットCのID";
        google_ad_width = 468;
        google_ad_height = 60;
    }
// -->
<script type="text/javascript" 
 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

しかしこの方法、危うく実装しかけたのですが、コードを変更することが許されておらずGoogle Adsenseの規約違反になってしまうようなので止めた方が良さそうです。

替わりにとった方法は、PHPでHTTP_USER_AGENTの文字列から、iPhoneかAndroidの文字が含まれる場合は小さめの広告ユニットのコードを、そうでなければ通常の広告ユニットのコードを貼るように対応しました。

	$outSmall=<<<__AD1END__A
<script type="text/javascript"><!--
google_ad_client = "ca-<サイト運営者ID>";
/* 234x60 text/image */
google_ad_slot = "<iPhoe,Android用の小さい広告ユニットID>";
google_ad_width = 234;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
__AD1END__A;
	$outMid=<<<__AD1END__B
<script type="text/javascript"><!--
google_ad_client = "ca-<サイト運営者ID>";
/* 468x60, 作成済み 09/03/31 */
google_ad_slot = "<通常用に作成した広告ユニットID>";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
__AD1END__B;
	$out="";
	$dev="pc";
	if(
		strstr($_SERVER['HTTP_USER_AGENT'],"iPhone")
		||strstr($_SERVER['HTTP_USER_AGENT'],"iPod")
		||strstr($_SERVER['HTTP_USER_AGENT'],"Android")
	){
		$env ='iPhone_Android';
	}else{
  		$env = 'pc';
	}
	if(strstr($env,'pc')){
		$out=$outMid;
	} else {
		$out=$outSmall;
	}
	echo  $out;

一部のタブレットデバイスのブラウザで表示される広告が小さかったりしますが、小さい広告が出てしまう分には問題ないと考えます。

(本当は、Javascriptでブラウザの幅に合わせた広告サイズになるようにしたいのですが、Googleのポリシー違反を冒してまでやることではないと判断しました。)

タグ: ,
カテゴリー: Android, PHP, WEB

IE6の利用状況

IE6の最終(SP3)サポート終了予定は2014年4月8日に終了が予定されている。
SP2やSP1は疾うにサポートを終了し、マイクロソフトのサイトからもIE6はSP3さえダウンロードできないようになっているらしい。

Googleのレスポンシブ・デザイン推奨はIE6が対応していないCSS3を前提としているし、
先日見たGoogle Map Javascript API v3の移行ドキュメントにも、

“Added support for several modern browsers and mobile browsers. Support for Internet Explorer 6 has been removed.”
「いくつかのモダンブラウザとモバイルブラウザのサポートが追加され、IE6のサポートは対象外となりました。」

と記載されているのを発見。最近この手のGoogleのドキュメントを見ていなかったけど、どうやら巷ではIE6は眼中にない感じですね。

WEBの作り手側としてIE6はもう考えなくていいのか、を少し検証したいと思います。
実際に私が運営に携わっているコンテンツ系のサイトのブラウザ利用状況を見てみます。


画像はGoogleアナリスティクスのキャプチャです。
上の円グラフはアクセスユーザー全体のブラウザの分布(2012/01/01 ~ 2012/12/17)
下の円グラフはそのうち、1位のInternet Explorer についてのバージョン別の分布(2012/01/01 ~ 2012/12/17)
です。

ちょっと画像が小さかったですが、まず上のブラウザ別では
1. Internet Explorer | 57.69%
2. Android Browser | 17.86%
3. Safari | 12.91%
4. chrome | 5.09%
5. Firefox | 3.59
6. Mozilla Compatible Agent | 1.23%
7. Safari (in-app) | 0.69%
8. Opera | 0.42%
9. DoCoMo | 0.12%
…..
という状況でした。

そして、1位の Internet Explorer の バージョン別の分布では、
1. 9.0 | 47.29%
2. 8.0 | 38.97%
3. 7.0 | 8.82%
4. 6.0 | 4.85%
5. 10.0 | 0.07%
6. 5.5 | 0.01%
…..
という状況でした。

このサイトのケースで行くと、今年1年間でIE6からアクセスがあったのは、全体に対して
 57.69% × 0.0485 ≒ 2.80%
ということになります。

全体の2.8%をすくうか否か、、、といったところです。
ブラウザ全体では、8位のOperaでさえ0.42%ですから、Operaをサポートするくらいなら 2.80% のIE6もサポートすべきか。
これからもっとIE6の利用は減っていくでしょうから、作り手側の負荷が問題になるようなケースであれば、もうIE6のことは忘れてもいい状況かもしれません。

サイト内コンテンツの性質によって、このあたりの統計は変わってくると思いますが、ある程度目安になればと思います。

タグ:
カテゴリー: WEB

レスポンシブWEBデザイン - サイトリニューアルしました。

長らくメンテをサボっていたホームページを、ちょっとリニューアルしました。
折角なので最近の潮流に沿ってレスポンシブWEBデザインを採用。
続きを読む ›

タグ:
カテゴリー: WEB

WEBページ画像上での右クリック禁止

WEBページ上で画像コンテンツを扱っているニュースサイトなどの場合、提供元から許可をいただいて画像を掲載する場合も含め、画像著作権保護に配慮して画像のコピーライトをキャプション表示することが義務づけられたりしますが、中には掲載条件としてブラウザの右クリックメニューから、その画像を保存できないようにして欲しい、とお願いされることもあります。
続きを読む ›

カテゴリー: WEB

備忘メモ:自作したfacebookページの追加

facebookの仕様が変わって、以前までは画面上のリンクをたどって行けばできた自作facebookページの追加が、簡単にはできなくなったようです。

以下のURLを実行して行うことができます。

https://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&display=popup&next=YOUR_URL

YOUR_APP_ID = アプリのID
YOUR_URL = アプリのURL(キャンバスページURL)

タグ:
カテゴリー: PHP, WEB

郵便番号から住所の一部を自動入力

先日、とあるお客様からの要望で、入力した郵便番号から自動的に住所の一部を自動入力できるしくみをフォームに設置しました。
WEB上で御見積り・発注を行うシステムなのですが、ユーザーの入力の手をなるべく煩わせないようにすることが目的です。

一番重要な条件は、
“郵便番号と住所はメンテナンスする必要がないこと”
ということ。

続きを読む ›

カテゴリー: WEB

WordPressにJavascript追加(JQueryなど)

WordPressにJQueryや自作のJavascriptファイルを追加挿入するやり方としては、

  • サイト全体(全てのブログ記事)共通で、Javascriptを追加挿入したい場合
  • サイト内の個別の記事に、Javascriptを追加挿入したい場合

の二つがあると思います。
続きを読む ›

タグ: ,
カテゴリー: WordPress
カテゴリー