Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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 搜索文本脚本在IE11中不起作用_Javascript - Fatal编程技术网

Javascript 搜索文本脚本在IE11中不起作用

Javascript 搜索文本脚本在IE11中不起作用,javascript,Javascript,我使用的脚本来自: 但这对InternetExplorer11已经不起作用了 有办法解决这个问题吗?并使其适用于所有浏览器 var TRange=null function findString (str, win) { if (parseInt(navigator.appVersion)<4) return; var strFound; if (navigator.appName=="Netscape") { if (!win) win = s

我使用的脚本来自: 但这对InternetExplorer11已经不起作用了

有办法解决这个问题吗?并使其适用于所有浏览器

var TRange=null

function findString (str, win) {
    if (parseInt(navigator.appVersion)<4) return;
    var strFound;
    if (navigator.appName=="Netscape") {

        if (!win) win = self;
        win.focus();

        // NAVIGATOR-SPECIFIC CODE

        strFound=win.find(str);
        if (!strFound) {
            strFound=win.find(str,0,1)
            while (win.find(str,0,1)) continue
        }
    }
    if (navigator.appName.indexOf("Microsoft")!=-1) {

    // EXPLORER-SPECIFIC CODE

    if (TRange!=null) {
        TRange.collapse(false)
        strFound=TRange.findText(str)
        if (strFound) TRange.select()
    }
    if (TRange==null || strFound==0) {
        TRange=win.document.body.createTextRange()
        strFound=TRange.findText(str)
        if (strFound) TRange.select()
    }
}
 if (!strFound) alert ("Helaas '"+str+"' werd niet gevonden! Probeer iets anders...")
}  

如果问题仅在IE11的情况下,请考虑下面的代码


我的IE 11撒谎说它是Netscape,所以我将==Netscape更改为使用功能检测,如&&typeof-win?win:self.find!='未定义的'
<head>
<title></title>
<script type="text/javascript" language="javascript" >
    var TRange = null;
    function findString(str) {
        if (parseInt(navigator.appVersion) < 4) return;
        var strFound;
        if (window.find) {
            // CODE FOR BROWSERS THAT SUPPORT window.find
            strFound = self.find(str);
            if (!strFound) {
                strFound = self.find(str, 0, 1);
                while (self.find(str, 0, 1)) continue;
            }
        }
        else if (navigator.appName.indexOf("Microsoft") != -1 || navigator.appName.toString().toUpperCase()== "NETSCAPE") {
            // EXPLORER-SPECIFIC CODE
            if (TRange != null) {
                TRange.collapse(false);
                strFound = TRange.findText(str);
                if (strFound) TRange.select();
            }
            if (TRange == null || strFound == 0) {
                TRange = self.document.body.createTextRange();
                strFound = TRange.findText(str);
                if (strFound) TRange.select();
            }
        }
        else if (navigator.appName == "Opera") {
            alert("Opera browsers not supported, sorry...")
            return;
        }
        if (!strFound) alert("String '" + str + "' not found!")
        return;
    }
</script>
</head>
<body>
 <input type="button" id="btnchk" onclick="findString('abc');" />
  abc
  <span>
  </span>
  pkr
</body>
</html>