1

ポップアップウィンドウ内にあるiframeにロードしたいURLがあります。親ウィンドウには、ポップアップウィンドウにスクリプトを挿入するスクリプトがあり、ポップアップが閉じられたときにポップアップが親ウィンドウを更新します。

function popUp(url) {
    newwindow = window.open('', 'mypopup', '');
    var tmp = newwindow.document;
    tmp.write('<!DOCTYPE html><html><head><title>My Pop-Up</title></head>');
    tmp.write('<body><iframe src="' + url + '" scrolling="no" frameborder="0"></iframe>');
    tmp.write('<script type="text/javascript">window.onunload = function(){ window.opener.location.reload(); }</script></body></html>');
    tmp.close();
}

ロードされているページを編集できないため、javascriptを介してhtmlを作成することにしました(ポップアップが閉じられたときに親を実際にリロードする必要があります)。これはchromeとfirefoxで機能しますが、IEにエラーがあります。否定された。'iframeに読み込まれているページのどの部分にもアクセスしようとはしていません。ただ、読み込みたいだけです。

新しいIEタブでページを開くと、正常に読み込まれます。また、showModalDialog()を介してURLをロードすると、ページがロードされます。showModalDialog()を使用できればいいのですが、ポップアップページで[保存]ボタンをクリックすると、別のポップアップが開くので、それは問題外だと思います。

助けていただければ幸いです。

ありがとうございました :)

4

1 に答える 1

0

ポップアップが閉じられたときだけ確認したい場合は、外部タイマーを開始してこれを確認できます。

var checkPopup = window.setInterval(function() {
    if (newwindow.closed) {
        window.clearInterval(checkPopup);
        document.location.reload();
    }
}, 100);

こうすることで、ポップアップ自体の内部で複雑なスクリプトを作成する必要がなくなります。

于 2013-02-19T09:36:52.147 に答える