2012-05-24 2 views
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'); 
} 
+2

Same-Origin-политики. Вы не можете модифицировать код документа с иностранным доменом или даже вставлять в него сценарии. – ThiefMaster

ответ

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'); 
     }; 
    } 
} 
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')" 
Смежные вопросы