执行execCommand方法为什么不起作用?

zh19881213 2010-08-25 04:06:16
我这么调用execCommand方法为什么不起作用?

window.frames["MW_IFRAME"].focus();
window.frames["MW_IFRAME"].document.execCommand("bold");


一共测试如下几个浏览器:
IE6 / IE7 / IE8
Mozilla Firefox
Safari
Opera
Google Chrome

只有 Safari, Opera, Google Chrome 浏览器正常,其它运行都失败,请高手赐教。
...全文
2128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
7707 2010-09-06
  • 打赏
  • 举报
回复
IE8下执行bold是有BUG的.执行的目标元素如果有style="font-weight: bold;...就会出问题.
WebAdvocate 2010-08-25
  • 打赏
  • 举报
回复
另外,.focus()可能也有兼容性问题
WebAdvocate 2010-08-25
  • 打赏
  • 举报
回复
window.frames["MW_IFRAME"] 最好用document.getELementById代替
natineprince 2010-08-25
  • 打赏
  • 举报
回复
MW_IFRAME是id还是name?
zh19881213 2010-08-25
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Miniweaver 2010</title>
<script type="text/javascript">
<!--
MW = null;

function exec(command, value){
document.getElementById('MW').contentWindow.focus();
MW.execCommand(command, false, value);
}

window.onload = function() {
MW = document.getElementById("MW").contentDocument || document.getElementById("MW").contentWindow.document;
MW.designMode="on";
}
//-->
</script>
</head>

<body>
<button onclick="exec('bold')">加粗</button><br />
<iframe id="MW" name="MW" width="400" height="300" style="border:#FF0000 3px inset;"></iframe>
</body>
</html>


弄了个简单的测试,问题解决了,一共测试如下几个浏览器:
IE6 / IE7 / IE8
Mozilla Firefox
Safari
Opera
Google Chrome
Netscape Browser

以上浏览器全部运行正常,怎么总是我自己把自己的问题解决了……
zh19881213 2010-08-25
  • 打赏
  • 举报
回复
具体代码在这里,大家帮忙看下

http://www.izhaoyang.com/test/example.htm

execCommand在316行

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧