下面是页面搜索js代码。 因为页面用dtree做到树状结构,导致不能搜索到树状子目录下内容。希望大家帮忙看看。
<script language="JavaScript"> 
var NS4 = (document.layers);
var IE4 = (document.all); 
var win = window;
var n = 0; function findInPage(str) { 
var txt, i, found; 
if (str == "") return false; 
if (NS4) { 
if (!win.find(str)) 
while(win.find(str, false, true)) 
n++; else n++;
if (n == 0) 
alert("Not found.");

if (IE4) { 
txt = win.document.body.createTextRange(); 
 for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) { 
txt.moveStart("character", 1); 
txt.moveEnd("textedit"); } 
 if (found) { 
txt.moveStart("character", -1); 
txt.findText(str); 
txt.select(); 
txt.scrollIntoView(); n++; }
else { if (n > 0) {
n = 0; findInPage(str); 
} else alert("Not found."); 


return false; 
}
</script><form name="search" onSubmit="return findInPage(this.string.value);"> 
<div align="center"> <p><font size=3> <input name="string" type="text" size=15 onChange="n = 0;"> </font> 
<input type="submit" value="Search Page"> </p> </div> 
</form>

解决方案 »

  1.   

    最简单的方法.<script language="JavaScript"> 
    var NS4 = (document.layers);
    var IE4 = (document.all); 
    var win = window;
    var n = 0; function findInPage(str) { 
        var txt, i, found;
        d.oAll(true);\\d换成你的DTREE的name 
        if (str == "") return false; 
            if (NS4) { 
                if (!win.find(str)) 
                while(win.find(str, false, true)) 
                n++; else n++;
                if (n == 0) 
                alert("Not found.");
                } 
            if (IE4) { 
                txt = win.document.body.createTextRange(); 
                 for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) { 
                    txt.moveStart("character", 1); 
                    txt.moveEnd("textedit"); } 
                     if (found) { 
                        txt.moveStart("character", -1); 
                        txt.findText(str); 
                        txt.select(); 
                        txt.scrollIntoView(); n++; }
                        else { if (n > 0) {
                            n = 0; findInPage(str); 
                        } else alert("Not found."); 
                    } 
                } 
            return false; 
            }
    </script>