M.Olbrich: Suchfunktion in HTML einbinden!

Beitrag lesen

Hallo Frank,

hier meine vor ein paar Tagen gefundene Lösung, mit der ich zufrieden bin.

Grüße Markus

/************************************************************
                      Find-in-page script
              By Mark Wilton-Jones 11-12/10/2002
*************************************************************

Please see http://www.howtocreate.co.uk/jslibs/ for details and a demo of this script
Please see http://www.howtocreate.co.uk/jslibs/termsOfUse.html for terms of use

To use:

Inbetween the <head> tags, put:

<script src="PATH TO SCRIPT/findinpage.js" type="text/javascript" language="javascript1.2"></script>

Wherever you want to put a find in page form, put:

if( ( document.body && document.body.createTextRange ) || window.find ) {
 document.write( '<form action="" onSubmit="searchForText( this.elements[0].value, window ); return false;">'+
  '<input type="text" size="15"> <input type="submit" value="Find in Page"></form>' );
}
___________________________________________________________________________________________*/

function searchForText( toFind, frameToSearch ) {
 if( !toFind ) { window.alert( 'You have not entered any text to search for' ); return; }
 if( frameToSearch.focus ) { frameToSearch.focus(); }
 if( window.find ) {
  //Netscape compatible browsers provide the window.find method
  if( document.layers ) {
   //Against the JS spec, Netscape 4 will produce errors if too many arguments are given
   var ifFound = frameToSearch.find( toFind, false, false );
  } else {
   var ifFound = frameToSearch.find( toFind, false, false, true, false, true, false );
  }
 } else if( frameToSearch.document.body && frameToSearch.document.body.createTextRange ) {
  //IE or compatible use various TextRange features
  if( frameToSearch.document.selection && frameToSearch.document.selection.type != 'None' ) {
   //If some text is selected already (previous search or if they have selected it)
   //make that the text range. Then move to the end of it to search beyond it
   var theRange = frameToSearch.document.selection.createRange();
   theRange.collapse( false );
  } else {
   //If no text is selected, start from the start of the document
   var theRange = frameToSearch.document.body.createTextRange();
  }
  //find the next occurrence of the chosen string
  var ifFound = theRange.findText( toFind );
  if( ifFound ) { theRange.select(); }
 } else {
  alert ( 'Please use your browser's search facility' );
 }
 if( !ifFound ) { alert ( 'Could not find text:\n' + toFind ); }
}

Hallo!

Ich will eine einfach Suchfunktion in HTML einbinden, die mir meine HTML-Seite durchsucht! Will es nicht mit dem Suchfunktion des IE lösen, dann würde ich ja das hier nicht schreiben.
Hat jemand eine Idee, wie sowas geht?

Gruß Frank