Andreas Born: (X).all.tags("a") führt zur Fehlermeldung

Hallo, Ich habe jetzt schon überall gesucht, aber leider keine Antwort auf folgendes Problem gefunden:

Ich will mittels des all-Objekts unter MSIE5 und Javascript alle Verweise auf einer HTML-Seite Auslesen.

------ Javascript:

mw=window.open(URL,"name");
var i=0;
while (mw.document.all.tags("a")[i])
{
   alert(mw.document.all.tags("a")[i].href);  (Beispiel)
}

------ end

Dieses Script funktioniert bei meinen eigenen Seiten einwandfrei, will ich jetzt aber die Verweise aus anderen URL's auflisten, dann erhalte ich die Fehlermeldung: Zugriff verweigert.
Übrigens auch, wenn ich die fremde Site vorher lokal auf meiner Platte speichere.

Hat jemand eine Ahnung, warum ?
Ich bin schon fast am verzweifeln :-)
Andreas Born

  1. Hi Andreas,

    Dieses Script funktioniert bei meinen eigenen Seiten einwandfrei, will ich jetzt aber die Verweise aus anderen URL's auflisten, dann erhalte ich die Fehlermeldung: Zugriff verweigert.

    Der IE lässt nicht zu, dass Skript aus einer Domäne auf Inhalte einer anderen Domäne zugreift. Dass diese Einschränkung auch lokal gelten sollte, habe ich selber nicht feststellen können, auch wenn die anderen Dateien in andere Verzeichnisse liegen.

    Gruß,
    UlfL

    1. Hi Ulf,

      Der IE lässt nicht zu, dass Skript aus einer Domäne auf Inhalte einer anderen Domäne zugreift. Dass diese Einschränkung auch lokal gelten sollte, habe ich selber nicht feststellen können, auch wenn die anderen Dateien in andere Verzeichnisse liegen.

      Aha, das erklärt natürlich einiges.

      Besteht eventuell eine Möglichkeit, den Quelltext einer "fremden" Site mittels VBScript lokal auf der Platte zu speichern?

      ciao, Andreas B.

      1. Hi Andreas,

        Besteht eventuell eine Möglichkeit, den Quelltext einer "fremden" Site mittels VBScript lokal auf der Platte zu speichern?

        Näh, wenigstens nicht im "normalen" Browser. Wenn du den IE5 einsetzt, kannst du die Frameset-Datei, die deine Code-Seite und die fremden Inhalte anzeigt, die Dateiendung .hta geben. Dann startet der IE für diese Datei ein eigenes Fenster, und dieses Fenster hat alle Zugriffsrechte auf das lokale System (wie eine .EXE-Datei) und kann auch mit Skript auf fremde Inhalte zugreifen. Einführung in HTAs: http://msdn.microsoft.com/workshop/author/hta/overview/htaoverview.asp.

        HTAs solltest du aber nur lokal auf dein eigener Rechner verwenden. Da sie mit ausführbaren Programmen gleichzusetzen sind, sollte man sie nicht unwissende Surfer auf's Auge drücken.

        Gruß,
        UlfL

        1. Hi Ulf,

          HTAs solltest du aber nur lokal auf dein eigener Rechner verwenden. Da sie mit ausführbaren Programmen gleichzusetzen sind, sollte man sie nicht unwissende Surfer auf's Auge drücken.

          Die betr. Site wird sowieso nur wenigen Benutzern zugänglich sein, die mich kennen; ist also in dieser Hinsicht sicher kein Problem.

          Aber vielen Dank, Dein Tip ist Gold wert ! :-)
          (Auch der Link zu VBScript!)

          Andreas B.