Come osservato https://stackoverflow.com/a/3030893 aka Detecting the onload event of a window opened with window.open La soluzione di questa risposta è l'ideale:
javascript: /* IE will use 1 ignore 1 w/ error, FF t'other way 'round */
(function(ow){
ow . addEventListener( 'load', function(){alert("loaded")}, false);
ow . attachEvent('onload', function(){alert("loaded")}, false);
}(window.open(prompt("Where are you going today?",location.href),"snapDown")))
Tuttavia, altri commenti e risposte perpetrare diverse idee sbagliate erronee come spiegato di seguito.
Il seguente script dimostra la volubile inerzia temporale della definizione di onload
. Applicare lo script a un caricamento veloce location.href
come file:///
e qualche sito lento per vedere il problema. È possibile visualizzare il messaggio onload
o nessuno (ricaricando una pagina caricata possono essere visualizzate tutte e 3 le varianti). Si presume inoltre che la pagina caricata non definisca un evento onload
che potrebbe aggravare il problema.
definizioni s' The onload
gestore di eventi non sono assolutamente "dentro markup HTML di popup" anche se in ultima analisi, risiedono nel DOM della body
... del HTML
.
javascript:
window.popup=window.open(location.href,'snapDown');
window.popup.onload=function(){alert("message one ")};
alert("message 1 maybe too soon\n"+window.popup.onload);
window.popup.onload=function(){alert("message two")};
alert("message 2 maybe too late\n"+window.popup.onload);
cosa si può fare:
- aprire un URL estera
- su quel pg URL estera. barra degli indirizzi immettere
javascript: ...
URI
erediterà i criteri dello stesso sito dell'URL estero
NB.il javascript potrebbe essere necessario segnalibro come un bookmarklet dal barra degli indirizzi in notazione URI javascript:
's non sono efficaci nel recente (circa 2012) i browser
- questo dà modo efficace l'accesso dominio croce, ma nota:
- il javascript non è indigeni di una pagina web o di un sito, il che significa che la sua origine ha una nazionalità senza stato e quindi soddisfa intrinsecamente le regole di immigrazione css (x-site scripting) e sop (stessa politica di origine)
- viene invocato manualmente tramite la barra degli indirizzi o segnalibri E
lo script è manualmente entrato in quei luoghi
così ogni pagina, o quasi, indipendentemente da provenienza, può essere modificato come:
javascript:
if(confirm("wipe out links & anchors?\n"+document.body.innerHTML))
void(document.body.innerHTML=document.body.innerHTML.replace(/<a /g,"< a "))
(beh quasi ...
jar:file:///usr/lib/firefox/omni.ja!/chrome/toolkit/content/global/aboutSupport.xhtml
La pagina di risoluzione dei problemi FF di Mozilla e altri archivi jar
sono eccezioni)
Come altro esempio:
Per disattivare regolarmente l'usurpazione di google del target pg. colpi, cambiano è rwt
funzione come segue:
javascript:void(rwt=function(unusurpURL){return unusurpURL})
e segnalibro questo come spay google
(neuteralize google
?) vale a dire. è sistemato".
Questo segnalibro è poi cliccato prima di qualsiasi google
colpi sono cliccato, così i segnalibri di uno qualsiasi di questi successi siano puliti e non le aberrazioni imbastarditi perversi che google
ne viene fatto.
test fatto con
window.navigator.userAgent=
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0
Va notato che addEventListener
in Mozilla ha solo un quarto parametro non standard, booleano che ,, se true
permette di contenuti non attendibile trigger per essere istanziati per le pagine straniere.
ref:
element.addEventListener | Document Object Model (DOM) | MDN:
Interaction between privileged and non-privileged pages | Code snippets | MDN:
Bookmark:
Detecting the onload event of a window opened with window.open
Credo che hai già l'onLoad nel vostro
da qualche parte? – VoodooChildPresumo che non controlli la pagina che apre nel popup –
Cosa stai provando a fare con '$ (...).onload' lì? Cosa c'è che non va con 'window.popup.onload'? –