簡體   English   中英

搜索文本腳本在IE11中不起作用

[英]Search Text script does not work in IE11

我使用的腳本來自: http : //www.javascripter.net/faq/searchin.htm但這對於InternetExplorer 11不再有效。

有任何解決辦法嗎? 並使其適用於所有瀏覽器?

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情況下,請考慮以下代碼

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM