私はページエディタを構築するためにexpreimentingしていました。 1つの問題は、私をファイアフォックスに夢中にさせた。なぜポップアップアラートが "designMode"に影響するのですか?
ページのコードは以下の通りです:
<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>
それはちょうどMozillaのやり方やIEの方法で、「のdesignMode」を設定するapproprateであるかどうかを確認してください。ページが読み込まれると、「Mozilla」がポップアップします。 iframe領域をクリックすると、フォーカスがiframeにあり、キーボードで入力できます。
これはうまく見えますが、私が行をコメントアウトするとき"alert(" mozilla "); "、それは動作しません。 FireBugが示すように、 "designMode"は "オフ"です。
これは配線されています。アラートがDOMとJavaScriptに影響する理由 ところで、私のFirefoxは3.0.6です。
ありがとうございます。修正はそれを動作させる! 「iframeを読み込んだ後にdesignModeをオンにすることができます」はFirefoxにのみ適用されます。 IEにはこのような制限がないようです。 –
私はこのことを覚えていません。前回私がdesignModeで遊んでいたとき、私は両方のブラウザで "onload"を適用しましたが、ええ、私はまずFFでそれを観察しました。とにかく、IEで動的に生成されたiframeで問題が発生したことを覚えています。だからあまりにも注意してください。 –