Hallo an alle!
Das folgende Script läuft im MSIE4/5/6 sowie NS4/6 einwandfrei - es sollte aber auch mittels Firefox klappen. Mein Problem an diesem Script ist, dass ich es gerne nur an den notwendigen Stellen minimal anpassen möchte, da ich es auf sehr vielen Seiten im Einsatz habe und bislang auch ohne Probleme...Wieso werden aber anfangs in die Var. "NS4" und "IE4" diese Werte übernommen? Es funktioniert ja z.B. auch Var. "IE4" mit dem IE6...das Script ist für mich etwas verwirrend! Oder klappt es nicht mit der Übergabe der Variablen vom Form an JavaScript ?
Was meinen die Profis von JS ? Danke im Voraus für eure Mühe!
Das folgende Script läuft im MSIE4/5/6 sowie NS4/6 einwandfrei - es sollte aber auch mittels Firefox klappen. Mein Problem an diesem Script ist, dass ich es gerne nur an den notwendigen Stellen minimal anpassen möchte, da ich es auf sehr vielen Seiten im Einsatz habe und bislang auch ohne Probleme...Wieso werden aber anfangs in die Var. "NS4" und "IE4" diese Werte übernommen? Es funktioniert ja z.B. auch Var. "IE4" mit dem IE6...das Script ist für mich etwas verwirrend! Oder klappt es nicht mit der Übergabe der Variablen vom Form an JavaScript ?
Was meinen die Profis von JS ? Danke im Voraus für eure Mühe!
Code:
<script language="JavaScript">
<!--
var NS4 = (document.layers);
var IE4 = (document.all);
var win = window;
var n = 0;
function findInPage(str) {
if (document.search.string.value == "") {
alert(".....Bitte Suchbegriff eingeben !.....");
document.search.string.focus();
}
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(".....Keine Einträge gefunden !.....");
}
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(".....Keine Einträge gefunden !.....");
document.search.string.focus();
}
}
return false;
}
//-->
</script>
<form name="search" onsubmit="return findInPage(document.search.string.value);">
<input name="string" type="text" id="input" size="68" tabindex="1" onchange="n = 0;">
<input style=cursor:pointer type="button" id="button" onFocus="return findInPage(document.search.string.value);" name="submit_search" value="suchen" tabindex="2">
</form>