gpt4 book ai didi

javascript - Firefox 中的 Iframe 设计模式问题

转载 作者:行者123 更新时间:2023-11-30 06:49:05 25 4
gpt4 key购买 nike

这在 IE 中有效,但在 firefox 中却很奇怪:

如果在 firefox 下正常打开它,设计模式不起作用,但如果我在上面设置断点

this.editor.contentWindow.document.designMode = "On";

行,然后释放它(在它断开之后),设计模式有效!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript">



TheEditor = function() {
this.editor = null;
this.mainDiv=document.getElementById("mainDiv");
}

TheEditor.prototype = {

InitializeEditor: function() {


this.editor=document.createElement('iframe');
this.editor.frameBorder=1;
this.editor.width = "500px";
this.editor.height="250px";

this.mainDiv.appendChild(this.editor);

this.editor.contentWindow.document.designMode = "On";
}


}
window.onload = function(){
obj = new TheEditor;
obj. InitializeEditor();
}
</script>
</head>
<body>
<div id="mainDiv">
</div>
</body>
</html>

最佳答案

我不完全明白为什么,但是打开(可选地编写内容)和关闭文档解决了问题(至少在 OSX 上的 FF5 中):

this.editor.contentWindow.document.open();
// optionally write content here
this.editor.contentWindow.document.close();
this.editor.contentWindow.document.designMode = "on";

我的另一个想法是围绕 designMode = "on" 设置超时声明(我记得过去必须为 FF 执行此操作),但它没有用。

我认为这与 FF 在 IFRAME 中加载“某些东西”有关,而且它还没有准备好打开 designMode。

我猜你也可以使用 contentEditable="true"而不是 DIV 上的属性。

无论如何,我希望这对您有所帮助。

关于javascript - Firefox 中的 Iframe 设计模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2974375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com