Seite aufrufen und deren HTML-Code durchsuchen...
Andy Schneck
- javascript
0 Cheatah
Hallo zusammen, brauche dringend ein Script das es mir erlaubt eine URL in einem IFRAME oder einem Popup zu öffnen und den Inhalt ( quellcode) dieser Datei nach z.B. einen String zu durchsuchen.
Das ganze soll in ner Schleife so lange neu geladen werden, bis dieser String gefunden wurde.
Das ganze soll zur Banner-Suche verwendet werden.
InnerHTML scheint hier nicht zu funktionieren...
siehe Beispiel:
<html>
<BODY LINK="#FFFFFF" TEXT="FFFFFF" VLINK="#999999" ALINK="#00FF00" BGCOLOR="#000000">
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide Script from Old Browsers
function checkDatabase() {
var Found = false;
var zaehler= 0;
var Item = document.forms[0].searchfor.value.toLowerCase();
var Search_Adress = document.forms[0].search_adress.value.toLowerCase();
while(!Found && zaehler<4) {
document.getElementById("myFrame").src = "";
document.getElementById("myFrame").src = Search_Adress;
var tmp=document.getElementById("myFrame").document.body.innerHTML;
zaehler+=1;
var erg = tmp.indexOf(Item);
if (erg!= -1){
alert('gefunden');
Found=true;
}
}
}
// -->
</SCRIPT>
<FORM NAME="form1">
Suchstring: <INPUT TYPE="text" NAME="searchfor" VALUE="test" SIZE=40><br>
Suchadresse: <INPUT TYPE="text" NAME="search_adress" VALUE="http://" SIZE=30>
<INPUT TYPE="button" VALUE="Suche." onClick="checkDatabase()">
</FORM>
<BR>
<IFRAME SRC='+Search_Adress+' width=800 height=600 id="myFrame"></IFRAME>
<!-- End Of File -->
</body>
</html>
Hi Andy,
Hallo zusammen, brauche dringend ein Script das es mir erlaubt eine URL in einem IFRAME oder einem Popup zu öffnen und den Inhalt ( quellcode) dieser Datei nach z.B. einen String zu durchsuchen.
ich bin wieder in der Firma. Du kannst also mal vorbeikommen :-)
Das ganze soll in ner Schleife so lange neu geladen werden, bis dieser String gefunden wurde.
Von absoluter Relevanz hierfür ist, ob die Zielseite vom selben Host stammt wie das fragende JavaScript oder nicht. Im letzten Fall existiert nicht die geringste Chance. Desweiteren hast Du das große Problem der Erkennung, wann ein Seiteninhalt fertig geladen ist - von sich aus triggert nur ein <body onLoad> _in_ der Seite des <iframe>. Da Du die Seiten aber unter Kontrolle hast (haben musst), kannst Du ein solches garantieren.
InnerHTML scheint hier nicht zu funktionieren...
Was heißt "funktioniert nicht"?
<html>
<BODY LINK="#FFFFFF" TEXT="FFFFFF" VLINK="#999999" ALINK="#00FF00" BGCOLOR="#000000">
Auf <html> und <body> könntest Du verzichten, aber ohne <title> ist das kein gültiges HTML.
<SCRIPT LANGUAGE="JavaScript">
ERROR: Required attribute "TYPE" missing.
document.getElementById("myFrame").src = "";
document.getElementById("myFrame").src = Search_Adress;
Wofür ersteres?
var tmp=document.getElementById("myFrame").document.body.innerHTML;
Dies erwartet ein gültiges Dokument im <iframe>, dessen Existenz Du vor wenigen Millisekunden vernichtet hast. Selbstverständlich führt dies zu Fehlern; vermutlich zu "...body has no attribute innerHTML", weil document.body gerade undefined ist.
<FORM NAME="form1">
ERROR: Required attribute "ACTION" missing. Übrigens sehen unsere Standards Kleinschrift für HTML-Elemente und -Attribute vor.
</FORM>
<BR>
Oh, da freue ich mich auf die Screen-QS :-)
<IFRAME SRC='+Search_Adress+' width=800 height=600 id="myFrame"></IFRAME>
Ich glaube nicht, dass "+Search_Adress+" eine existierende Ressource darstellt. Nebenbei bemerkt schreibt sich "address" im Englischen mit zwei "d", und unsere Standards verlangen (Double-)Quotes für _alle_ Attributwerte, auch für Literale.
Also, wie gesagt, ich bin am Platz...
Cheatah
Hallo Cheatah,
Auch auf die Gefahr hin, die traute Zweisamkeit zu stören ;-)
ERROR: Required attribute "ACTION" missing. Übrigens sehen unsere Standards Kleinschrift für HTML-Elemente und -Attribute vor.
Nicht für HTML.
http://www.w3.org/TR/html401/intro/sgmltut.html#h-3.2.1
und unsere Standards verlangen (Double-)Quotes für _alle_ Attributwerte, auch für Literale.
Nicht für HTML.
[link:http://www.w3.org/TR/html401/intro/sgmltut.html#h-3.2.2
Grüße
Thomas