最近要实现一个功能就是模仿iE8 或者搜狗浏览器 实现页面查找关键字,在网上找了好久,都不是太理想,一般都是实现顺序查找,并没有上一个,下一个的效果
下面是我找到代码 只实现顺序查找。
<script language="JavaScript">var NS4 = (document.layers);
var IE4 = (document.all);
var win = parent.frames['frameone'];
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");
      txt.moveEnd("textedit");
    }    if (found) {
      txt.moveStart("character");
      txt.findText(str);
      txt.select();
      txt.scrollIntoView();
      n++;
    }    else 
      {
      if (n > 0) {
        n = 0;
        findInPage(str);
      }      else
        alert("Not found.");
    }
  }  return false;
}

解决方案 »

  1.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <SCRIPT LANGUAGE="JavaScript">
      <!--
    function find(){
    var val = document.all("txt").value;
    var r = document.body.createTextRange();
    r.findText(val);
    r.select();
    }
      //-->
      </SCRIPT>
     </HEAD> <BODY>
     <input type="text" id="txt"><input type="button" value="submit" onclick="find()"><br>
     aaaaaa<br>
     bbbbbb<br>
     cccccc<br>
     dddddd<br>
     </BODY>
    </HTML>