CoffeeCat's IT Blog

解决Firefox中designMode的问题


    我这两天在研究一些Javascript代码,正好对能编辑的iframe很感兴趣,然后就自己写了个可编辑的iframe,可在IE中能运行出来,而在FireFox中却始终无法成功,让我很困惑。
    我在百度上搜索了好一阵子,始终没有找到正确的答案,最后,我还是通过Google在Mozilla的官网找到了答案。其实解决方法很简单,在此和大家分享一下。


我一开始的核心代码是这样的

<html>
<head>
</head>
<body>
    
<iframe id="myiframe" style="width:750px; height:400px; border:1;"></iframe>
</body>

<script language="javascript">
<!--
    document.getElementById(
"myiframe").contentWindow.document.designMode="on";
-->
</script>

</html>

这段代码在IE中完全没有问题,而在FireFox中全无反应。
还要注意,<script>段一定要写在<iframe>的下面,否则将会出现myiframe对象无定义的错误。



经过修改的代码

<html>
<head>
</head>
<script language="javascript">
<!--
function start()
{
    document.getElementById("myiframe").contentWindow.document.designMode="on";
}
-->
</script>

<body onLoad="start()">
    
<iframe id="myiframe" style="width:750px; height:400px; border:1;"></iframe>
</body>
</html>


very easy,but it's the sollution.



CoffeeCat
2007-04-26

posted on 2007-04-26 20:12 CoffeeCat 阅读(1577) 评论(2)  编辑 收藏 引用

评论

# re: 解决Firefox中designMode的问题 2010-01-07 13:07 jayliao

那你修改后的代码js还是在iframe的上面?和你文中描述的自相矛盾。  回复  更多评论   

# re: 解决Firefox中designMode的问题[未登录] 2010-01-11 22:49 CoffeeCat

@jayliao
呵呵,不好意思,表达的是有点问题。我要表达的是,JS代码要在页面加载完以后再运行。修改后的代码是写在onload事件里的,结构更合理,虽然是写在iframe上面的,但其实是先加载了iframe,再执行js代码的~  回复  更多评论   

只有注册用户登录后才能发表评论。
<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

公告

常用链接

留言簿(183)

随笔档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜