【この記事の所要時間 : 約 4 分】
GoogleMapsAPI を利用していてFireFoxでは問題ないが、IEで以下のようなエラーが発生する場合がある。
インターネット サイト http://www.***.***.*** を開けません。
操作は中断されました
同じようなエラーに悩まされている人が結構いた!
GoogleマップとIEの「開けません。 操作は中断されました」
侍ズム – インターネットサイトを開けません。操作は中断されました
Web屋のネタ帳 – Google Maps とIEの「開けません。 操作は中断されました」
外部記憶:GoogleMapsで遊んでみました
問題の原因としては、
「地図表示部がdiv要素でネストされていること!」
つまり、以下のようなコードはアウトってこと。
<div>
<div id="map" style="width: 300px; height: 300px"></div>
</div>
解決方法としては、以下の2つ。
1.地図表示部のdiv要素のネストをなくす
2.地図関連のスクリプト部分をHead部へ移動し、function化して、Body部のOnLoadイベントで呼ぶ
スタイルシートの関係上、1の方法はとれないので、2の方法で解決した。
まず、地図関連のスクリプト部分をHead部へ移動し、function化する。
<head>
<script src="http://maps.google.com/maps?file=api&v=1&key=***************" type="text/javascript">
</script>
<script type=’text/javascript’>
//<![CDATA[
function createMap() {
var map = new GMap(document.getElementById(‘map’));
map.addControl(new GSmallMapControl());
map.centerAndZoom(new GPoint(********,**********),1);
var marker = new GMarker(new GPoint(********,**********));
map.addOverlay(marker);
}
//]]>
</script>
</head>
次に、Body部のOnLoadイベントでfunction化した地図関連のスクリプトを呼ぶ
<body onLoad="createMap();">
これで、無事解決。
FireFoxでもIEでもGoogleMapsが正常に表示されるようになった。
別の解決方法として、
あれこれ試していて、簡単な別解を見つけた。 Maps APIを使ったJavascriptコード群を、HTMLの最後のほうに書くのだ。 </body> タグの直前とか。そのあたり。 それで、FirefoxでもIEでも動くようになった。あんまり美しくないとは思うのだが、まあそんな方法もあるよということで。
というやり方があるというサイトもあったが、これはやってみたがうまくいかなかった。
より詳しく知りたい方はこちらへ
技術評論社
売り上げランキング: 53,678