0

http://www.zimmi.cz/edppを見てマーカーをクリックすると、リンク付きの情報ウィンドウがポップアップします。リンクをクリックすると、新しいウィンドウが開くはずです。Firefox と IE (7) では問題なく動作しますが、Opera では新しいウィンドウと元のウィンドウの両方が新しいコンテンツを読み込みます。Opera に新しいウィンドウだけを開き、元のウィンドウはそのままにしておくにはどうすればよいですか? 情報ウィンドウのリンクの onclick の関数は false を返しますが、Opera (11.64) はそれを無視しているようです。助けてくれてありがとう。

コードは次のようになります。

google.maps.event.addListener(marker,"click",function(ev) {
                        //var content = bod.nazev;
                        var content = "<a href='http://www.edpp.cz/zarizeni/velke-mezirici-oslava-' onclick='return !popUpWin(this, null, 1024, 742, true);'>Aktuální stav hladiny</a>";
                        infowindow.setContent(content);

                        infowindow.setMap(null);
                        infowindow.open(map,marker);
                        getCoords(ev.latLng);
                    });

PopupWin は新しいウィンドウを開き、同時に false を返し、ブラウザがリンクをロードしないようにします。問題はこの関数にあるとは思いません。false を返すスコープが正しくないだけだと思います :-/

4

2 に答える 2

1

イベントのデフォルトの動作が必要ない場合は、次のev.preventDefault();ようにイベント ハンドラーを呼び出してデフォルトを防止する必要があります。

google.maps.event.addListener(marker,"click",function(ev) {
    ev.preventDefault();
    //var content = bod.nazev;
    var content = "<a href='http://www.edpp.cz/zarizeni/velke-mezirici-oslava-' onclick='return !popUpWin(this, null, 1024, 742, true);'>Aktuální stav hladiny</a>";
    infowindow.setContent(content);

    infowindow.setMap(null);
    infowindow.open(map,marker);
    getCoords(ev.latLng);
});

MDNに関する詳細情報preventDefault

于 2012-06-10T11:17:19.063 に答える
0

window.open およびその他の popups プロパティの互換性を確認する必要があります

このリンクをチェック この記事を読む

すべてのブラウザとの完全な互換性が必要な場合は、プログラミングだけでなく、もっと読む必要があります

于 2012-06-10T11:40:26.807 に答える