如您所见,下面我有两个旨在使文本变为粗体的函数:doRichEditCommand()和SetToBold()。
我的目标是,首先,让doRichEditCommand()在嵌入的textareaiframe
中工作,因为它可以在所有主要浏览器上完美运行,然后让像SetToBold()这样的execCommand函数工作,因为我不确定它们是否交叉- 在iframe中时的浏览器。
为了使第一个功能起作用,我启用了 designMode。但是,启用它后,textarea变得不可编辑。
如何修改下面的代码,以便我的函数可以在textarea
嵌入的iframe
?
在此先感谢您的帮助。
<html>
<head>
<script type="text/javascript">
function getIFrameDocument(aID){
// if contentDocument exists, W3C compliant (Mozilla)
if (document.getElementById(aID).contentDocument){
return document.getElementById(aID).contentDocument;
} else {
// IE
return document.frames[aID].document;
}
}
function load(){
getIFrameDocument("editorWindow").designMode = "On";
}
function doRichEditCommand(aName, aArg){
getIFrameDocument('editorWindow').execCommand(aName,false, aArg);
document.getElementById('editorWindow').contentWindow.focus()
}
function SetToBold () {
document.execCommand ('bold', false, null);
}
</script>
</head>
<body onload="load()">
<iframe id="editorWindow" src="you.php"></iframe>
<button onclick="doRichEditCommand('bold')" style="font-weight:bold;">B</button>
<button onclick="SetToBold();">Bold</button>
</body>
</html>
PS 我没有包含“you.php”,因为它只是必要的标签和文本区域。