Javascript 在IE中获取iframe中的选定文本
我有一个id为“iView”且designMode=on的iframe 我的代码:Javascript 在IE中获取iframe中的选定文本,javascript,Javascript,我有一个id为“iView”且designMode=on的iframe 我的代码: var iframeWindow = document.getElementById('iView').contentWindow.document; var range = iframeWindow.getSelection(
var iframeWindow = document.getElementById('iView').contentWindow.document;
var range = iframeWindow.getSelection().getRangeAt(0);
我得到的错误是:
Microsoft JScript运行时错误:
对象不支持此属性
或方法
我还尝试了IE中的文档对象没有getSelection方法,您必须使用selection对象
var selText;
var iframeWindow = document.getElementById('iView').contentWindow;
if (iframeWindow.getSelection)
selText = iframeWindow.getSelection()+"";
else if (iframeWindow.document.selection)
selText = iframeWindow.document.selection.createRange().text;
为什么需要检查iframeWindow.getSelection或iframeWindow.document.selection?您正在检查功能是否存在,这本质上是一种浏览器检查。如果浏览器不支持该方法,则这些语句将返回false,脚本将不会执行-如果没有检查,并且浏览器不支持该方法,则会引发错误。或者,您可以使用try/catch语句,但这通常是功能测试的实际方法。@samuel:这是一个非常好的答案,但与您提到的另一个问题()中的一对夫妇几乎相同,那么这是如何给你提供新信息的呢?lol刚刚检查了一下,它和你自己在这个问题上的答案最为一致。抱歉,如果看起来我复制了它(我没有):-)+1。@Andy E:我没有为我的答案做特别的说明,我认为你不会复制它,因为风格略有不同,但谢谢你的支持:)