中級プログラマの自宅でPHP ブログ

自宅用ポータルシステム「MyHome Portal」をオープンソースで公開。MyHome Portalの説明とエンハンス情報。

備忘録:window.open、return false、void(0)

Google Maps APIを使ったスマホ用サイトを作成した時の備忘録。

スマホ用:2nd マップ≫

http://ok2nd.me/abook/map/

■button等のonClickにはreturn false;を付ける。これを付けないと元のページに戻ってしまう等の不具合が生じます。PCのブラウザでの検証では不具合が発生しないにも関わらず。

例) onClick="hoge();return false;"

Google Maps APIのinfoWindow内でaタグのtarget="_blank"で別ウインドウを開こうとしても、有効にならない。PCのブラウザでは正常に機能する。

対策としては、javascript:window.open()を使う。

例) href="javascript:window.open('hoge')"

javascript:window.open()を使う時は必ず、void(0)を付ける。そうしないとFirefoxで、元のページが[object Window]という表示になっていまう。

例) href="javascript:window.open('hoge');void(0);"

Google Maps APIのinfoWindowはグローバル変数として定義しておく。そうしないとwindow.open()で開いた別のウインドウから戻った時にinfoWindowの中身が消えることがある。

例) var infowin;

infowin = new google.maps.InfoWindow();