z.B. rufst du per Ajax eine PHP-Seite auf, die dir den Quelltext per fopen(), file_get_contents() o.ä. zurückgibt.
Ich habe mir ein kleines Script erstellt, welches eine bestimmte Webseite in einem neuen Tab öffnet. In dieser neu geöffneten Webseite möchte ich nun deren Quelltext parsen, weil ich einen bestimmten Link aus dieser Seite benötige, den ich dann wiederum aufrufen möchte. In meinem kleinen Codebeispiel funktioniert die rote Zeile aber nicht, weil JavaScript soweit ich bisher gelesen habe nicht auf den Quelltext einer anderen Domain zugreifen darf.
Gibts irgendeine Möglichkeit, diese Restriktion irgendwie zu umgehen???
Code:var vorgangsTab = window.open("http://www.xyz.de/test.html"); var pageSource = vorgangsTab.getElementsByTagName('html')[0].innerHTML; vorgangsTab.close(); ... hier folgt das parsen des Textes innerhalb der Variable "pageSource" ...
.
.
" ... da ist Vakuum drin ! " ... aha, sehr Interessant ... nimm doch besser farbiges Vakuum, dann siehste wenn's raus ist
.
.
z.B. rufst du per Ajax eine PHP-Seite auf, die dir den Quelltext per fopen(), file_get_contents() o.ä. zurückgibt.
So ... dann will ich Euch mal nicht meine funktionierende Lösung vorenthalten:
Code:var Link="http://www.Google.de"; xmlHttpObject.open('get', Link); xmlHttpObject.send(null); while (xmlHttpObject.readyState!= 4) {} var pageSource = xmlHttpObject.responseText;
.
.
" ... da ist Vakuum drin ! " ... aha, sehr Interessant ... nimm doch besser farbiges Vakuum, dann siehste wenn's raus ist
.
.
Hab doch nochmal nen Problem ...
Die Seite, die ich laden möchte, liegt auf einem Server, der ein ganz klein wenig Zeit benötigt um die Seite zu liefern. Wenn ich das "send" schicke und als nächsten Befehl die Abfrage des status mache, ist der zu 100% noch "1". Deswegen hatte ich dieses while{} eingebaut. Der PC bringt mir dann jedoch die folgende Message:
Interessanter Weise kann ich im Taskmanager sehen, dass genau zu dieser Zeit, wenn dieses Fenster aufploppt, der PC Daten empfängt und auch sofort danach der Status = 4 ist und die Seite geladen wird. Start Script bis Ende dauert ca. 10-12 Sekunden.Ausführen des Scripts abbrechen?
Ein Script auf dieser Seite verursacht eine Verzögerung in Internet
Explorer. Falls das Script weiter ausgeführt wird, verlängern sich
die Antwortzeiten des Computers eventuell erheblich.
Wenn ich anstatt des while (xmlHttpObject.readyState != 4){} jedoch einfach nur eine pause einfüge, kann diese auch 30sec oder länger sein, der status ist auch nach diesen 30sec noch immer 1, erst nach Abarbeitung des Scriptes sehe ich im Netztwerkverkehr, dass eine größere Menge Daten empfangen wird - wahrscheinlich wäre danach dann erst der Status = 4.
Für mich sieht das also so aus, als wenn er erst dann Daten empfängt, wenn das Script wirklich grad GAR NICHTS tut, denn wenn dieses Popup mit der Meldung kommt, wird das Script wahrscheinlich stehen.Code:function pause(zeit) { //Zeit hier in ms angeben var starttime=(new Date).getTime(); while (starttime+zeit>(new Date).getTime()){}; }
Hat jemand ne Idee, wie ich den PC dazu "übereden" kann, die Daten wirklich sofort zu empfangen und den status so schnell wie möglich auf 4 zu setzen?
.
.
" ... da ist Vakuum drin ! " ... aha, sehr Interessant ... nimm doch besser farbiges Vakuum, dann siehste wenn's raus ist
.
.
Ich glaub ich habs ... die rote Zeile hat gefehlt ... mit dieser wartet er offenbar genau auf das, was mir gefehlt hat.
Code:var Link="http://www.Google.de"; xmlHttpObject.open('get', Link); xmlHttpObject.send(null); xmlHttpObject.onreadystatechange = function(){ if (xmlHttpObject.readyState == 4) { var pageSource = xmlHttpObject.responseText; ... restlicher Code ... } {
.
.
" ... da ist Vakuum drin ! " ... aha, sehr Interessant ... nimm doch besser farbiges Vakuum, dann siehste wenn's raus ist
.
.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)