Perchè un avviso pop-up può influenzare “designMode”?
-
09-09-2019 - |
Domanda
Sono stato expreimenting di costruire un editor di pagine. Un problema solo mi faceva impazzire in Firefox.
Il codice della pagina è qui sotto:
<body>
<iframe WIDTH=200 HEIGHT=200 id="myEditor"></iframe>
<script>
function getIFrameDocument(sID){
// if contentDocument exists, W3C compliant (Mozilla)
if (document.getElementById(sID).contentDocument){
alert("mozilla"); // comment out this line and it doesn't work
return document.getElementById(sID).contentDocument;
} else {
// IE
alert("IE");
//return document.getElementById(sID);
return document.frames[sID].document;
}
}
getIFrameDocument("myEditor").designMode = "On";
</script>
</body>
E 'solo controllare se è approprate impostare "designMode" in modo Mozilla o modo di IE. Quando la pagina viene caricata, un "Mozilla" si apre; fare clic sull'area iframe, e l'attenzione è rivolta l'iframe e mi può inserire con la tastiera.
Questo sembra bene, ma quando ho commentare la riga “alert ( "mozilla"); ”, doesnt lavoro. Il "designMode" è "Off", come spettacoli Firebug.
Questo è così cablata. Perchè un avviso può influenzare il DOM e JavaScript? A proposito, il mio Firefox è 3.0.6.
Soluzione
Dato che l'avviso dà il tempo iframe per caricare. È necessario impostare designMode su "on" solo dopo che il documento è stato caricato iframe:
iframe.onload = function() {
doc.designMode = "on";
};