Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Suchfunktion mit Frame





Frage

Hallo, in meinem Web habe ich eine Suchfunktion eingebaut mit folgendem Code: <form name="search" onSubmit="return findInPage(this.string.value);"> <font color="#808080">Suchbegriff eingeben: <input name="string" type="text" size=15 onChange="n = 0;"> <input type="submit" value="Suchen"><br> </font> </font> </form> Nun möchte ich einen Frame in die Seite integrieren, wo oben die Navigationsleiste und die Suchfunktion liegt. Was muss ich ändern oder hinzufügen, damit in der richtigen Seite dann gesucht wird? Gruß

Antwort 1 von rfb

ohne die Funktion
findIn
zu kennen ist eine Beantwortung nicht möglich!

Antwort 2 von rfb

sorry meine natürlich die Funktion
findInPage()


Falls du diese hier verwendest, solltest du statt der Zeile

var win = this;

(in anderen Versionen steht da:
var win = window;
)

sowas wie

var win = parent.frames["Frame-Name"]; 


einfügen, wobei Frame-Name natürlich der Name des zu durchsuchenden Frames sein muss.

Keine Garantie - das Script sieht seehhr alt aus (NS4 und IE4) !

Antwort 3 von bravo2

Das Script hab ich beim Googeln gefunden, keine Ahnung wie alt das ist, wichtig war mir, dass es funzt und meinen Zwecke erfüllt, dass es bis jetzt auch tat. Vielleicht könntest du mir eine Alternative vorschlagen.

Antwort 4 von rfb

Alternativen? Nein, ich vertraue darauf dass die meisten Compi-Nutzer die Suchfunktionen ihrer Browser kennen (wobei ich aber auch grundsätzlich keine Frames nutze, die das Surfen unnötig verkomplizieren). Ansonsten würde ich sowas wohl komplett neu programmieren unter Nutzung der Möglichkeiten des DOM (das wäre vielleicht eine Programmierübung für meine nächsten Mußestunden ;-)

Antwort 5 von bravo2

Ich würde das Ganze auch gerne ohne Frames realisieren, aber leider bin in noch nicht so fit im Progammieren, darum arbeite ich mit Frontpage. Die Seite die durchsucht werden soll ist sehr lang, darum hatte ich mich für Frames entschieden. Wie kann ich die Navi-Leiste mit Suchfunktion ohne Frames lösen, wo kann ich mich über Alternativen informieren?

Antwort 6 von rfb

zb hier: http://barrierefrei.e-workers.de/index.php
unter "Service" gibts mehrere Workshops zum Thema Framealternativen zum Download.

Frames machen nicht nur in eigenen "Suchmaschinen" Probleme sondern auch bei google und Co.

Antwort 7 von bravo2

Leider funzt das Script nicht. Die Änderung habe ich vorgenommen, aber es wird keine Suche gestartet.

var NS4 = (document.layers);
var IE4 = (document.all);

var win = parent.frames[Hauptframe];
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("Der Begriff" +str + "wurde auf diese Seite nicht 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("Der Begriff"+str + "wurde auf diese Seite nicht gefunden.");
}
}
return false;
}

Vielen Dank für deinen Tipp, ich werd mir mal in Ruhe den Workshop anschauen....

Antwort 8 von rfb

bei

parent.frames[Hauptframe];

fehlen die Anführungszeichen!

Antwort 9 von bravo2

Uups...schon ausgebessert! Es funktioniert schon, aber eine entgültige Lösung ist das nicht. Da muss ich mich wohl in CSS besser einarbeiten

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: