go backgo back [ If you find you cannot scroll this page in MSIE_6, try the TABULATOR - key; or try another browser ]

Highlighting for the internal search engine Free Find

The quite serviceable internal search engine FreeFind, which comes into use on these pages, lets visitors search your website for a given search string and shows its locations on the pages on found web pages on an own "search results" page - after some registration and configuration. It is provided by FreeFind.

Here are some extras:

  1. A German help for FreeFind

  2. Highlighting the FreeFind search results

  3. Making the FreeFind help pages always visible

A. A German help for FreeFind

Language support in FreeFind is a little rudimentary. One can, however, refer the visitors to an own Help / FAQ- page in their respective language.

  Here is a free to use German help for FreeFind ( in three parts, of which only the first has to be linked from FreeFind )

      In German: Deutsche Hilfe für FreeFind ]

      The official online version can be found here ( simple ) and here ( advanced ).

Some providers will allow little more than a text link in their customer homepage templates; which means that you cannot add a FreeFind search form.

B. Highlighting search strings found by search engines - and in FreeFind

FreeFind presents the locations of the search strings on the pages in a separate page with links to the corresponding pages. The locations on the pages themselves however are not highlighted.

There is a JavaScript by kryogenix.org, though, developed further by webdesign weisshart, which highlights the locations of search strings found on pages by search engines like Google and others. For that, this JavaScript file and this CSS file must be filed on one's own server and requested by every HTML file using this feature:

<SCRIPT language="JavaScript" type="text/javascript" src="searchhi-e.js"></SCRIPT> <LINK REL="stylesheet" TYPE="text/css" HREF="sw.css">

On webdesign weisshart this script is being developed further.

  It should be pointed out, though, that:

  On top of that, Mozilla-Browsers may sometimes have problems if the "onload" - command in the script is already employed in the HTML - BODY - TAG, and in that case, tends to be ignored in the script. One possible detour would be to try to trigger the script with

<BODY Onload="Highlight;... or ="Highlight();... and not with "window.onload = Highlight;" alone as put down in the script; or with an extra "window.onclick = Highlight;", as already put down in the script. This depends on the build of the HTML-Pages on one's own web site.

However, to be able to employ this highlighting in FreeFind calls for yet another, small, but fiddly, detour:

  To enable the "highlight" - function for FreeFind, an additional script, developed here, has to be put down in a suitable HTML-page, introduced to FreeFind as a template and uploaded onto their server.

Hits both of external search engines such as Google and of the internal one of FreeFind are then highlighted.

  Essentially this is done through the following steps:

  1. Register your website with FreeFind.

  2. Configure the later "search results page" in FreeFind's "Customize" area.

  3. Let the search results page be displayed ( as a "Preview" or by looking for text to be found on your pages ) and use it as a template - or use any other page; the important part is installing a table in the template. For details see http://www.freefind.com/library/howto/templates/.

  4. Clean up the HTML-template as prescribed by FreeFind, with the dummies for ::title:: and ::content:: and insert the JavaScript into the template.

  5. Upload the template.

As a simple example you can use this template (which of course has to be adapted)

The FreeFind Search Result Highlighting

...enables the users of the FreeFind internal search engine to have their search string results highlighted on the page, using the kryogenix search term highlighting by employing this for the FreeFind page search as well.

  Copy the following HTML code from "HTML" to "/HTML" to a text editor, save it as a HTML file (take good care that the line breaks are not changed!) and upload in FreeFind Control / Customize / upload custom template.

If nothing is represented in the following or this page shows up ice blue in the Browser, please take the template and script from the source code of this page or from this ZIP-Archive ( which includes the German helpfile for FreeFind as well )

<!-- Begin of the FreeFind template --> <HTML> <HEAD> <TITLE>::title::</TITLE> </HEAD> <BODY text="black" bgcolor="dfffff"> <!-- Replace with your own Logo --> <P ALIGN="Left"><A HREF="http://www.ADAPT_HERE/YOUR_SITE/YOUR_STARTING_PAGE.HTML"><IMG alt="ACHTUNG!" SRC="../ablink_g.gif" ALIGN="LEFT"></A></P> <!-- Adapt heading H2 below --> <!-- Adapt search page and own page in the script --> <CENTER> <H2>The script is contained in the source code of this page</H2> <TABLE width=500><TR> <TD width="100%"> ::content:: </TD> </TR></TABLE> </CENTER> <!-- IMPORTANT! The following script must be inserted BELOW the ::content:: area in the BODY area of the FreeFind template! --> <SCRIPT type="text/javascript"> <!-- // Freefind TEMPLATE für /* http://www.kryogenix.org/code/browser/searchhi/ */ /* Modified by webdesign.weisshart.de */ /* please do not remove these notes */ // --- as of here c/o JHR http://www.erleuchtet.gmxhome.de/ if (window.location.search) { // alert(window.location.search); var FreefindString = window.location.search; var VTrunc = FreefindString.split("&mode="); var Trunc = VTrunc[0].split("query="); var SchTms = "?hl=de&q="+Trunc[1]; // alert(SchTms); if (Trunc[1]) { for (var i = 0; i < document.links.length; ++i) { if ((SchTms) && (document.links[i] != "http://www.ADAPT_HERE/YOUR_SITE/FF-SEARCHPAGE.HTML") && (document.links[i] != "http://www.ADAPT_HERE/YOUR_SITE/FF-HELP.HTML") && (document.links[i].search == "")) { document.links[i].search = SchTms; // document.write("<br>" + document.links[i]); } } } } // NEW - // Focus help page // ---------------------- // Suppress error message function stoperror() {return true} window.onerror=stoperror; // For stupid IE var somewin; function focusin() {somewin.focus();} // somewin = Name of the PoPup-Function in FreeFind var pics = document.getElementsByTagName("img"); for (var i = 0; i <= pics.length; i++) { var pic = document.getElementsByTagName("img")[i]; if (!(pic)) {break;} // Search for certain images else {if (pic.src == "http://www.freefind.com/img/qmark.jpg") {pic.onclick=focusin;}} } // END - // Focus help page // ---------------------- // --> </SCRIPT> </BODY> </HTML> <!-- End of the FreeFind template -->

  The script has been implemented on this page. To try things out, you can search below for "ADAPT" and "CLICK" on these pages in FreeFind. Then click on the page found by FreeFindthis one, exactly.

The strings "ADAPT" and "CLICK" (or any other) should be additionally highlighted here now.

[ The script has been implemented on this page only ]

Update 2011

Making the pop - up help pages always visible

A peculiarity of the popup help pages on ( not only ) the FreeFind search page ( advanced search ) was fixed: The popup help pages appeared over the parent window ( i. e. in focus ) only at first call. The next call left them invisible, lying below the calling page - so that the visitor had the impression of a failing link.

This problem ( a pop - up window appears over the main window only at first call, while when the same link is clicked again, apparently nothing happens; since the page is already open invisibly under the main window, unless it was closed in the meantime ) can actually be set right with a little JavaScript - if one is able write the pages completely, and they are not, as is common nowadays, generated from a data base.

However, this can sometimes be overcome, if it is possible to place some additional lines of JavaScript onto the page ( directly on the page or in an external .JS - File ), as it is here.

By this code the following happens:

  1. After loading, the file is searched for specific links; here: for images ( arrow graphics ) with a certain file name. For this, the page must already have been read by the browser - therefore the JavaScript is at the end of the source text, and not in the HEAD as usual.

  2. A focus function is imposed upon these linked images, which brings the linked page to the foreground at each call. This works with the usual browsers and with older ones as well.

    The MICROSOFT ® Internet Explorer ( MSIE ) needs an extra invitation once again, but with a deliberate mistake in the JavaScript code and the suppression of the error message it will work just as well.

Of course this function can be implemented for itself on any other page, quite independently of the FreeFind template.


FreeFind search engine

Try Highlight: 

Revised 20.10.09

© 2006 JHR.