da quel che ricordo operazioni con il documento nell' iframe vanno eseguite dopo che è stato assegnato il designMode
a questo punto (con IE) funziona solo se ripristino un riferimento corretto al contenuto dell' iframe ( :master: )
cmq così funziona con IE e MOZ
codice:
function allerta(){
alert('hai premuto un tasto!');
}
onload=initialize;
function initialize() {
iFrameDoc = eval(str_iFrameDoc);
iFrameDoc.open();
iFrameDoc.write("<html><body MONOSPACE style='font:10pt arial,sans-serif'></body></html>");
iFrameDoc.close();
// se non assegno il designMode posso ancora usare iFrameDoc e funzionerebbe
// if(iFrameDoc.attachEvent) iFrameDoc.attachEvent("onkeydown", allerta);
// else if(iFrameDoc.addEventListener) iFrameDoc.addEventListener("keydown", allerta, true);
iFrameDoc.designMode = "On";
// se assegno il designMode il gestore evento settato prima non sortisce effetti
// se provo a farlo dopo non posso usare iFrameDoc x far riferimento al documento nell' iframe:
// IE restituisce "Autorizzazione negata"
// if(iFrameDoc.attachEvent) iFrameDoc.attachEvent("onkeydown", allerta);
// else if(iFrameDoc.addEventListener) iFrameDoc.addEventListener("keydown", allerta, true);
// devo valutare nuovamente la stringa x farlo funzionare
iFrameDoc = eval(str_iFrameDoc);
if(iFrameDoc.attachEvent) iFrameDoc.attachEvent("onkeydown", allerta); // IE
else if(iFrameDoc.addEventListener) iFrameDoc.addEventListener("keydown", allerta, true); // MOZ
document.getElementById("switchMode").checked = false;
if (!document.all) {
document.getElementById("taglia").style.visibility = "hidden";
document.getElementById("copia").style.visibility = "hidden";
document.getElementById("incolla").style.visibility = "hidden";
}
}
ciao