0

window.openでウィンドウを開き、関数をアタッチしたいonload。たとえば、子ページの読み込みが完了すると (DOM のみ)、ブラウザーは子ページにアラートを表示します。このコードは機能しません::

var google;
function google(){
    google = window.open('http://www.google.com/');

    // Dean Edwards/Matthias Miller/John Resig

    /* for Mozilla/Opera9 */
    if (google.document.addEventListener){
        google.document.addEventListener("DOMContentLoaded", pageLoaded, false);
    }

    /* for Internet Explorer */
    /*@cc_on @*/
    /*@if (@_win32)
        google.document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
        var script = google.document.getElementById("__ie_onload");
        script.onreadystatechange = function(){
        if (this.readyState == "complete") {
            pageLoaded(); // call the onload handler
        }
        };
    /*@end @*/

    /* for Safari */
    if (/WebKit/i.test(navigator.userAgent)){ // sniff
        var _timer = setInterval(function(){
            if (/loaded|complete/.test(google.document.readyState)) {
                pageLoaded(); // call the onload handler
            }
        }, 10);
    }

    google.onload = pageLoaded;
}
function pageLoaded(){
    alert('Loading Completed');
}
4

2 に答える 2

0

これを試して:

var google;
function googleload()
{
    google = window.open('http://www.google.com/');

    // Dean Edwards/Matthias Miller/John Resig

    /* for Mozilla/Opera9 */
    if (google.document.addEventListener)
    {
            google.window.addEventListener("DOMContentLoaded", function(){
                alert('Loading Completed');
            }, false);
    }
    else
    {
        google.window.onload = function(){ //Add window.onload
            alert('Loading Completed');
        };
    }
}
于 2012-05-24T07:32:22.923 に答える
0

前述のように、同じオリジンポリシーが邪魔です

これが私が本当にしなければならない場合に私が試みることです

function popAndAlert(url) {
  var w = window.open('','mywindow');
  if (w) {
    w.document.write('<body onload="opener.done()">'+
      '<iframe style="width:100%;height:100%" src="'+url+'"></iframe></body>')
    w.document.close();
  }
}
function done() {
  alert('loading completed');
}

子ページで警告する、変更する

onload="opener.done()"

onload="alert('loading complete')"
于 2012-05-24T07:38:49.580 に答える