Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在IE中获取iframe中的选定文本_Javascript - Fatal编程技术网

Javascript 在IE中获取iframe中的选定文本

Javascript 在IE中获取iframe中的选定文本,javascript,Javascript,我有一个id为“iView”且designMode=on的iframe 我的代码: var iframeWindow = document.getElementById('iView').contentWindow.document; var range = iframeWindow.getSelection(

我有一个id为“iView”且designMode=on的iframe

我的代码:

 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:我没有为我的答案做特别的说明,我认为你不会复制它,因为风格略有不同,但谢谢你的支持:)