IEにて発生する「インターネット サイト http://www.***.***.*** を開けません。操作は中断されました」というエラーメッセージの原因と解決方法

【この記事の所要時間 : 約 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でも動くようになった。あんまり美しくないとは思うのだが、まあそんな方法もあるよということで。

というやり方があるというサイトもあったが、これはやってみたがうまくいかなかった。
より詳しく知りたい方はこちらへ

スポンサーリンク
レクタングル(大)広告
  • このエントリーをはてなブックマークに追加
スポンサーリンク
レクタングル(大)広告

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です