alerte sur la charge de l'enfant

Je veux ouvrir une fenêtre avec window.open et attacher une fonction à onload . Par exemple, lorsque le chargement de la page enfant est terminé (DOM uniquement), le navigateur affiche une alerte dans la page enfant. Ce code ne fonctionne pas ::

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');
}
0
Politique d'origine identique Vous ne pouvez pas modifier le code d'un document de domaine étranger - ou même y injecter des scripts.
ajouté l'auteur ThiefMaster, source

2 Réponses

Comme mentionné la même politique d'origine est à votre manière

Voici ce que j'essaierais si je devais vraiment

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');
}

pour alerter dans la page enfant, modifier

onload="opener.done()"

à

onload="alert('loading complete')"
0
ajouté

essaye ça:

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
ajouté