Javascript - Server Client (Browser) Kommunikation

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Javascript - Server Client (Browser) Kommunikation

    Hallo,
    ich habe folgendes Problem, und zwar habe ich ein Javascript geschrieben das versucht eine Kommunikation zwischen Browser
    und Server herzustellen.
    Dazu gibt es folgende Moeglichkeiten, mit XMLhttpRequest (Ajax - auslesen des XMl-feeds) oder mit iframes so wie es google Adsense
    macht.
    Dabei bin ich auf folgendes Problem gestossen:
    ein simpler XMLhttpRequest ist wenn die domain in der das
    Javascript liegt und die domain die aufgerufen wird und fuer
    die das javascript ausgefueht wird, nicht moeglich ist:
    http://ajaxpatterns.org/XMLHttpRequest_Call#IFrame_Call
    Dazu gibt es allerdings eine Alternative die iframe heisst.
    Das problem beim iframe ist allerdings dass der frame in den
    browser geschrieben wird bevor ich ueberhaupt das Resultat
    der Kommunikation zwischen Server und Client kenne -> Folge
    ist ein weisser Fleck den der Iframe belegt.
    Gibt es irgendwie ander Moeglichkeiten solch eine Kommunikation
    durch verschiedene Tricks zu bewerkstelligen? Ich gehe davon aus
    dass das Problem loesbar ist, denn ich hab so eine aehnliche
    Problemloesung schon gesehen, allerdings nur in der Anwendung,
    nicht technischerseits.
    Danke fuer eure Antworten.

  • #2
    Möglichkeit:
    Leg dir auf deinen Server lokal ein PHP-Script das die Daten per readfile holt. Damit fragst du dann das lokale Script mit deinem Ajax Request - die Daten kommen aber vom anderen Server

    Generell unterliegt JavaScript der "Same Domain Policy" - Alles was requestet wird MUSS in der selben Domäne liegen. einzige Ausnahem bildet da das <script>-Tag. Als src davon darf man beliebige Domains angeben.

    Kommentar


    • #3
      Noch ne Möglichkeit mit deinem IFrame:
      CSS: display: none; und per JS nur sichtbar machen, wenn der Inhalt deinen Erwartungen entspricht.

      Kommentar


      • #4
        Original geschrieben von prego
        Noch ne Möglichkeit mit deinem IFrame:
        CSS: display: none; und per JS nur sichtbar machen, wenn der Inhalt deinen Erwartungen entspricht.
        Hi Prego,
        auf die Moeglichkeit bin ich auch schon gekommen, allerdings
        wie kontroliere ich ob der Inhalt den ich in den Iframe bekomme
        das ist was ich erwarte, z.B. ein bestimmtes wort im text?

        Noch eine Sache, das Dokument das aufgerufen wird, in dem
        befindet sich nur <script javascript src=> nichts weiter, an die
        css kann ich nicht ran, sprich ein Adsense Code.

        Kommentar


        • #5
          Original geschrieben von dingos
          Noch eine Sache, das Dokument das aufgerufen wird, in dem
          befindet sich nur <script javascript src=> nichts weiter, an die
          css kann ich nicht ran, sprich ein Adsense Code.
          Du willst also auf den Inhalt der dir von google gelieferten Anzeigen reagieren - in welcher Art und Weise denn?

          Je nachdem, was du vorhast, wäre vielleicht erst mal zu klären, ob das mit den AGB von google konform geht.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Genau, ich will auf den vom iframe gelieferten Code im browser
            reagieren, allerdings nicht von dem von Google geliefterten sondern von meinen eigenen.

            Kommentar


            • #7
              Original geschrieben von dingos
              Genau, ich will auf den vom iframe gelieferten Code im browser
              reagieren
              Geht auch nur dann, wenn der Iframeinhalt von deiner Domain stammt.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                ok, d.h.
                wenn ich in die domain www.meinedomain.de nen javascript
                mit src=http://www.deinedomain.de einbaue, javascript den iframe
                sendet dann kann nicht im javascript entscheiden ob ich ihn
                angezeigt haben will oder nicht?
                Ok, dann andere Frage:
                kennt ihr die in-line contextads con kontera.com?
                Die machen im Prinzip das was ich suche, allerdings weiss
                ich nicht wie das technisch dahinter aussieht und hab auch
                im moment keine Vorstellung darueber.
                Ich hab gerade kein beispiel parat in dem ich es zeigen kann.
                IntelliTXT macht im prinzip das gleiche.
                Zuletzt geändert von wahsaga; 23.08.2006, 13:06.

                Kommentar


                • #9
                  dein problem ist irgendwie nicht klar ersichtlich.

                  reicht es vielleicht, dass du den iframe erst nach erfolgreicher komunikation (in voller größe) anzeigst?
                  EDIT:
                  Hatte wohl n bisschen lang gelesen...
                  Zuletzt geändert von TobiaZ; 23.08.2006, 13:10.

                  Kommentar


                  • #10
                    Original geschrieben von dingos
                    wenn ich in die domain www.meinedomain.de nen javascript
                    mit src=http://www.deinedomain.de einbaue,
                    Wie schon gesagt, an dieser Stelle kannst du auch eine Ressource von woanders einbinden - sonst würden die ganzen auf JS basierenden Services, die Seiten mit externen Inhalten befüllen, ja gar nicht funktionieren.
                    javascript den iframe sendet
                    Javascript "sendet" keine Iframes.

                    Bitte mach dir erst mal in Grundzügen klar, was du erreichen willst, und wie es in etwa technisch funktioniert - vorher kann man dir glaube ich kaum weiterhelfen.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      ok, werd mal versuchen den kompletten Sachverhalt in code zu fassen da ich sehe dass meine Beschreibung nicht komplett angekommen ist.

                      nehmen wir an ein surfer ruft eine Seite auf in der mein javasciptcode
                      eingebunden ist:
                      Domain: www.abc.de
                      und zwar folgendermassen:
                      <html>
                      ....
                      <body>
                      ....
                      <SCRIPT LANGUAGE="JavaScript" src="http://www.mydomain.com/javascript.php?a=34"></SCRIPT>
                      ....
                      </body>
                      </html>

                      www.mydomain.com ist meine und das Javascript sieht folgendermassen funktionsmaessig folgendermassen aus:
                      document.write('<iframe src='http://www.mydomain.com/frame.php?a=34></iframe>');

                      so, wenn ich das nun ganz normal so laufen lasse dann wird mir der frame beim Seitenaufruf von www.abc.de angezeigt unabhaengig davon ob dieser mit Ihnhalt gefuellt ist oder nicht erscheint er
                      im Browser - das will ich allerdings vermeiden und zwar indem ich
                      in frame.php ueberpruefe ob a=34 existiert oder nicht und abhaengig davon will ich den frame sehen oder nicht.

                      Ists etwas klarer jetzt?

                      EDIT:
                      Gewöhne dir bitte endlich ab, Domains zu verlinken, die nicht dir gehören!
                      Und für Beispiele gibt es example.com/.net/.org.

                      Zuletzt geändert von wahsaga; 23.08.2006, 15:18.

                      Kommentar


                      • #12
                        Und warum prüfst du nicht schon in javascript.php?

                        PHP-Code:
                        if (produces_output($_GET['a']))
                          echo 
                        'document.write(...);'
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          ok, hast recht .. meine Beschreibung ist falsch, ich versuche mich zu korrigieren was folgendermassen aussieht :

                          nehmen wir an ein surfer ruft eine Seite auf in der mein javasciptcode
                          eingebunden ist:
                          Domain: www.abc.de
                          und zwar folgendermassen:
                          <html>
                          ....
                          <body>
                          ....
                          <SCRIPT LANGUAGE="JavaScript" src="http://www.mydomain.com/javascript.php?a=34"></SCRIPT>
                          ....
                          </body>
                          </html>

                          www.mydomain.com ist meine und das Javascript sieht folgendermassen funktionsmaessig folgendermassen aus:
                          var variable; // variable kann nur vom browser richtig bestimmt werden, serverseitig nicht!
                          document.write('<iframe src='http://www.mydomain.com/frame.php?a=34&var=' + variable + '></iframe>');

                          so, wenn ich das nun ganz normal so laufen lasse dann wird mir der frame beim Seitenaufruf von www.abc.de angezeigt unabhaengig davon ob dieser mit Ihnhalt gefuellt ist oder nicht erscheint er
                          im Browser - das will ich allerdings vermeiden und zwar indem ich
                          in frame.php ueberpruefe ob die variable variable einem bestimmten Muster entspricht oder nicht und abhaengig davon will ich den frame sehen oder nicht.
                          Zuletzt geändert von wahsaga; 23.08.2006, 15:18.

                          Kommentar


                          • #14
                            Also willst du eigentlich
                            Code:
                            var variable = wert;
                            if(variable == 'xyz') {
                               document.write('<iframe src='http://www.mydomain.com/frame.php?a=34&var=' + variable + '></iframe>');
                            }
                            ...?
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Original geschrieben von wahsaga
                              Also willst du eigentlich
                              Code:
                              var variable = wert;
                              if(variable == 'xyz') {
                                 document.write('<iframe src='http://www.mydomain.com/frame.php?a=34&var=' + variable + '></iframe>');
                              }
                              ...?
                              koennte ich teoretisch so machen, alldings gibts da ein Problem und
                              zwar den Vergleich kannst Du nur mit begrenzt vielen if-Abfragen
                              einschraenken, d.h. ich kann in das Skript nicht unbegrenzt viele
                              ifs rein bauen wenn die Menge moeglichen Werte z.B. 10.000
                              ist was bei mir der Fall ist. Die If-Abfrage muss ich gezwungenermassen Serverseitig durchfuehren.

                              Kommentar

                              Lädt...
                              X