Home > WordPress > Google Maps for WordPressのIE表示、対策できました!

Google Maps for WordPressのIE表示、対策できました!

先日より記事にしていました、プラグイン『Google Maps for WordPress』のIEでの表示ですが、右往左往しつつも対策できました。これで安心してプラグインを使うことが出来ます。

対策したのはwp-google-maps.phpの中です。356行目あたりからがGoogle Mapsを差し込むコードになっています。デフォルトでは次のようになっています。

HTML:
  1. <div id='map_{$this->mapNum}' style='width:{$mapInfo->width}; height:{$mapInfo->height};' class='googleMap'></div>
  2. <div id='dir_{$this->mapNum}'></div>
  3. <script type="text/javascript">
  4. //<![CDATA[
  5. if (GBrowserIsCompatible()) {
  6.     wpGMaps.wpNewMap({$this->mapNum}, {$json});
  7. }
  8. //]]>
  9. </script>

ここにdocument.body.codeにかかわる修正を施します。またIEとそ例外でこのコードの動作が若干異なることも考慮したコードも追加します。ということで私が施した対策はこうなりました。

HTML:
  1. <div id='map_{$this->mapNum}' style='width:{$mapInfo->width}; height:{$mapInfo->height};' class='googleMap'></div>
  2. <div id='dir_{$this->mapNum}'></div>
  3. <p> <!-- <-- add HTML tag -->
  4. <script type="text/javascript">
  5. //<![CDATA[
  6. if (GBrowserIsCompatible()) {
  7. // del    wpGMaps.wpNewMap({$this->mapNum}, {$json});
  8. // add -->
  9.     var func_{$this->mapNum} = document.body.onload;
  10.  
  11.     function init_{$this->mapNum}(){
  12.         wpGMaps.wpNewMap({$this->mapNum}, {$json});
  13.         if(func_{$this->mapNum}){
  14.             func_{$this->mapNum}();
  15.         }
  16.     }
  17.  
  18.     if(-1 != navigator.userAgent.indexOf('MSIE')){
  19.         document.body.onload = init_{$this->mapNum};
  20.     }else{
  21.         func_{$this->mapNum} = null;
  22.         init_{$this->mapNum}();
  23.     }
  24. // <-- add
  25. }
  26. //]]>
  27. </script>
  28. </p> <!-- <-- add HTML tag -->

ちなみにコードの仕組みは Yusuke さんが作られた『簡単Google Maps』で書き出してくれるコードをそのまま使わせていただきました。情報を提供してくださった Yusuke さんにはこの場を借りてお礼を申し上げますm(_ _)m

とりあえずこれでGoogle Maps for WordPressの便利さそのままにIEでも使えるかと思います。IEで表示できないからと断念しておられた方、試してみてくださいね(^-^)

修正を施したGoogle Maps for WordPressでの表示はこんな感じになります。

…ただ、今度は投稿ページでGoogle Maps for WordPressの入力項目をエディターに反映することが出来ないことが発覚。自分のローカルでのテスト環境ではIEでも問題はなかったし、このサイトでもFirefoxを使った投稿でも問題はないんですよね。
パソコンを再起動することで解決しました。何だったんでしょうか…。

一難去ってまた一難…っていうところでしょうか(-_-)

Comments:2

Yusuke 08-05-29 (木) 21:35

お役に立てて幸いです。
しかしSafariで表示するとページ上部が真っ黒です!何かの副作用でしょうか?
WindowsでもMacでも再現しました。

みやび 08-05-30 (金) 0:34

コメントありがとうございます。
javascriptが分からなくて困っていたので大変助かりました。本当にありがとうございました。

しかしSafariでは上部が真っ黒ですか……。手元にはWindowsしかなく、さらにはIEとFirefoxでしか確認していなかったので気付きませんでした。私の現在の能力でどこまで追求できるか分かりませんが、ぼちぼち見てみようと思います。

ただ、このプラグインが原因なら作者にお知らせしないといけなくなるのが結構ネックだったりするんですけどね。英語、苦手なものですから…(^-^;;

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://shinonon-web.net/2008/05/29/97/trackback/
Listed below are links to weblogs that reference
Google Maps for WordPressのIE表示、対策できました! from ある日の小さなつぶやき

Home > WordPress > Google Maps for WordPressのIE表示、対策できました!

Tag Cloud
  • mamenagy project
  • チーム・マイナス6%
最近の投稿
Recent Reactions
Recent Pings

Return to page top