dangermouse: Abfrage von Daten einer Website mittels Javascript/Firefox Addon

Liebes Forum,

ich möchte mittels Javascript auf die Ausgabe einer (fremden) Onlinedatenbank zugreifen. Die Datenbank lässt sich mittels eines Formulars (POST) abfragen und gibt eine HTML-Seite zurück, die die Daten enthält.

Bisherige Versuche sind gescheitert, ich nehme an, es liegt an der same origin policy.

Wenn dem so ist, wäre eine lokale Lösung mittels eines Firefox-Addons auch eine annehmbare Lösung. Damit ist es doch möglich auf die Seite zuzugreifen und das DOM auszulesen?

Sehr würde ich mich über einen Hinweis freuen, welcher Ansatz für so eine Abfrage per Addon sinnvoll ist. Addons habe ich schon gebaut. Mache ich die Abfrage dann auch per HTTP-Request oder muss ich die fremde Seite in einen iframe laden oder gibt es noch andere Möglichkeiten?

Ich möchte am liebsten ein eigenes Fomular haben, das das Script des Addons startet, das die fremde Seite im Hintergrund aufruft und ausließt und die Daten dann in die eigene Seite schreibt.

Vielen Dank für eure Tips + Alles Gute

danger

  1. Wenn dem so ist, wäre eine lokale Lösung mittels eines Firefox-Addons auch eine annehmbare Lösung.

    Wozu ein Add-On? Jeder handelsübliche Browser kann das mit einem Bookmarklet - du rufst die genannte Seite auf und führst dein Bookmarklet aus.

    Damit ist es doch möglich auf die Seite zuzugreifen und das DOM auszulesen?

    Sicher.

    Pack einfach mal ein javascript:alert(document.body.innerHTML); in deine Adresszeile und drück' Enter.

    1. Lieber suit,

      Pack einfach mal ein javascript:alert(document.body.innerHTML); in deine Adresszeile und drück' Enter.

      tut sich bei mir nüscht. Mein aktueller FF meldet in der Fehlerkonsole:

      Fehler: uncaught exception: ReferenceError: alert is not defined

      Scheint die neueste Sicherheitserfindung zu sein. Jegliche window-Referenzen sind beim "javascript:"-Protokoll unbekannt, darunter auch so sachen wie self, top, parent usw. - oder liegt das etwa an einer Firebug-Veränderung?

      Liebe Grüße,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
      1. Pack einfach mal ein javascript:alert(document.body.innerHTML); in deine Adresszeile und drück' Enter.

        tut sich bei mir nüscht. Mein aktueller FF meldet in der Fehlerkonsole:

        Fehler: uncaught exception: ReferenceError: alert is not defined

        In der Tat - in Firefox 4 gehts noch, 5 und 6 habe ich grade nicht zur Hand.

        Scheint die neueste Sicherheitserfindung zu sein. Jegliche window-Referenzen sind beim "javascript:"-Protokoll unbekannt, darunter auch so sachen wie self, top, parent usw. - oder liegt das etwa an einer Firebug-Veränderung?

        Geht auch ohne Firebug nicht, so wie ich das sehe.

        Ein Grund mehr, diesen Mist (Firefox) nicht mehr zu nutzen.

        1. Pack einfach mal ein javascript:alert(document.body.innerHTML); in deine Adresszeile und drück' Enter.

          tut sich bei mir nüscht. Mein aktueller FF meldet in der Fehlerkonsole:

          Fehler: uncaught exception: ReferenceError: alert is not defined

          In der Tat - in Firefox 4 gehts noch, 5 und 6 habe ich grade nicht zur Hand.

          Danke für eure Antworten!

          Ein Addon würde ich machen, damit andere aus meinem Institut es auch ganz einfach bedienen können. Und weil ein Addon noch mehr Möglichkeiten bietet, zum Beispiel beim Aufruf der eigenen Seite ein Formular zum Abruf der fremden Seite in die eigene Seite zu schreiben.

          Bleibt noch die Frage, wie ich den Aufruf der fremden Seite am besten realisiere, ich muss ja einen POST-Aufruf generieren. Also HTTP-Requests kann ich hinkriegen, nur weiß ich nicht, ob es damit klappt oder die SOP dann auch für das Addon greift. Ideen, Tips?

          Alles Gute

          danger

          1. Um die Idee dahinter klar zu machen:

            Es geht um den Aufbau einer Literaturdatenbank. Die Datenbank läuft auf einem lokalen Webserver und lässt sich per Browser bedienen. Sie hat eine Maske (HTML-Formular), in die Autor, Verlag usw. eingetragen werden können. Um die Eingabe zu erleichtern, möchte ich das Addon ein weiteres Feld in die Eingabeseite schreiben lassen mit einem Button.

            In das Feld soll die ISNB eines Buches eingetragen werden können. Mit dem Button möchte ich die ISBN per POST an eine Datenbank im Netz übergeben (z.B. http://www.ottobib.com/). Die Antwort (z.B. http://www.ottobib.com/3892537828931073946) möchte ich auslesen und in die entsprechenden Felder der Maske eintragen lassen, so dass statt all der Angaben nur die ISBN eingetippt werden muss und die wichtigsten Felder dann mit einem Klick automatisch gefüllt werden.

            Leider gibt es wohl keine offenen ISBN-Dienste mit API.

            Noch mal Danke für alle Hinweise zur Umsetzung! :)

            Liebe Grüße

            danger

            1. Leider gibt es wohl keine offenen ISBN-Dienste mit API.

              Schau dich mal bei Amazon um. Ich glaube vor langer Zeit schon mal was gebaut zu haben was mir bei Eingabe der ISBN die Daten zurückgliefert hat um diese in eine DB zu schreiben.

              Gruß Rainer

              1. Leider gibt es wohl keine offenen ISBN-Dienste mit API.

                Schau dich mal bei Amazon um. Ich glaube vor langer Zeit schon mal was gebaut zu haben was mir bei Eingabe der ISBN die Daten zurückgliefert hat um diese in eine DB zu schreiben.

                Gruß Rainer

                Vielen Dank, ich werde mich mal umschauen. Ich glaube, Buchhändler gelten hier als nicht so verlässliche Quelle, aber einen Versuch ist es ja Wert.

                Alles Liebe

                danger

                1. Vielen Dank, ich werde mich mal umschauen. Ich glaube, Buchhändler gelten hier als nicht so verlässliche Quelle, aber einen Versuch ist es ja Wert.

                  Books API von Google und die ISBN DB sind sehr verbreitet.

                  Du kannst ja der Reihe nach mehrere befragen, wenn Eein ergebnis kommt.

                  1. Books API von Google und die ISBN DB sind sehr verbreitet.

                    Du kannst ja der Reihe nach mehrere befragen, wenn Eein ergebnis kommt.

                    Total toll, die hatte ich beide nicht gefunden. Vor allem isbndb.com sieht super aus. Vielen Dank!

                    Alles Gute + Liebe

                    danger

          2. Hallo,

            Du musst nicht zwingend per POST zugreifen, ein kurzer Test zeigt, dass:

            http://www.ottobib.com/search/searchisbn?search=3-404-92142-9

            ebenfalls zum Ergebnis führt.

            Grüße Basti

            1. Hallo,

              Du musst nicht zwingend per POST zugreifen, ein kurzer Test zeigt, dass:

              http://www.ottobib.com/search/searchisbn?search=3-404-92142-9

              ebenfalls zum Ergebnis führt.

              Grüße Basti

              Wow, super! Vielen Dank für den Hinweis! Das macht es, denke ich, viel einfacher.
              Ich werde jetzt einfach mal ausprobieren, ob und wie ich es hinbekomme, die Seite auszulesen.

              Noch mal vielen Dank an alle!
              Wenn noch jemand einen Tip für die Umsetzung hat, freue ich mich auch.

              Alles Liebe

              danger