find

0

Jak na stronie znaleźć tekst za pomocą JS

0
<script language="JavaScript">
// By Mike Hall http://www.brainjar.com/js/find1.html
// Permission granted to SimplytheBest.net to feature script in its 
// DHTML script collection at http://simplythebest.net/info/dhtml_scripts.html
// Determine browser.
var NS4 = (navigator.appName.indexOf("Netscape") >= 0 &&
           parseFloat(navigator.appVersion) >= 4) ? 1 : 0;
var IE4 = (document.all);
var win = this;    // Page to search.
var n   = 0;

// Set up keypress event capturing.
if (NS4)
  document.captureEvents(Event.KEYPRESS);
document.onkeypress = getKey;

function findInPage(str) {
  var txt, i, found;
  if (str == "")
    return false;

  // Find next occurance of the given string on the page, wrap around to the
  // start of the page if necessary.

  if (NS4) {

    // Look for match starting at the current point. If not found, rewind
    // back to the first match.

    if (!win.find(str))
      while(win.find(str, false, true))
        n++;
    else
      n++;

    // If not found in either direction, give message.

    if (n == 0)
      alert("Not found.");
  }

  if (IE4) {
    txt = win.document.body.createTextRange();

    // Find the nth match from the top of the page.

    for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
      txt.moveStart("character", 1);
      txt.moveEnd("textedit");
    }

    // If found, mark it and scroll it into view.

    if (found) {
      txt.moveStart("character", -1);
      txt.findText(str);
      txt.select();
      txt.scrollIntoView();
      n++;
    }

    // Otherwise, start over at the top of the page and find first match.

    else {
      if (n > 0) {
        n = 0;
        findInPage(str);
      }

      // Not found anywhere, give message.

      else
        alert("Not found.");
    }
  }

  return false;
}

function getKey(e) {
  var key;

  // Check for enter key.

  if ((IE4 && event.keyCode == 13) || (NS4 && e.which == 13))
    findInPage(document.forms["search"].string.value);
}
</script><form name="search" onSubmit="return findInPage(this.string.value)">
<font size=3><input name="string" type="text" size=15 onChange="n = 0;"></font>
<input type="submit" value="Znajdź">
</form>

1 użytkowników online, w tym zalogowanych: 0, gości: 1