Sebastian Jurk: Javascript Fehler

Hallo,

ich habe mir jetzt das entsprechende Script eingebaut. Wenn die geöffnete Seite keinen Parent hat, dann wird eine andere geladen. Das funktioniert eigentlich mit allen Seiten nur bei einer Seite bekomme ich Probleme. Denn da sind im Body noch ein paar Werbefenster die ebenfalls Javascript benutzen. Und wegen denen funktioniert bei dieser Seite die Funktion nicht.

Bei mir sieht das so aus:

...
<SCRIPT language="JavaScript">
<!--
 function checkFrameset() {
  if(parent.frames.length < 1)
   location.href="i_suche.htm?" + location.pathname;
 }
//-->
</SCRIPT>

</head>

<body onLoad='checkFrameset()' text=white background="../blau.jpg" vlink=#90EE90 link=#90EE90 alink=blue>
...

Ich habe vorher nicht gewußt, daß diese Zeichen vor </script> wichtig sind und dadurch wurde nur ein Werbefenster angezeigt.

Es ist ein Fenster, um welches es sich handelt:

<script type="text/javascript"><!--
google_ad_client = "pub-5566686282407930";
google_ad_width = 300;
google_ad_height = 250;
google_ad_format = "300x250_as";
google_ad_channel ="";
google_ad_type = "text";
google_color_border = "3300CC";
google_color_bg = "0000CC";
google_color_link = "90EE90";
google_color_url = "FFFFFF";
google_color_text = "FFFFFF";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

Und ich habe gefunden, wenn ich bei dem unteren javascript auch nach script und vor /script diese Zeichen einbaue, dann funktioniert es richtig. Den Code darf man aber eigentlich nicht verändern. Und was noch seltsamer ist darüber habe ich ein Werbefenster was im Prinzip die gleiche Syntax hat. Hier ein Teil davon:

<SCRIPT LANGUAGE="javascript" TYPE="text/javascript"
SRC="http://banners.webmasterplan.com/view.asp?site=1382&ref=38083&type=html&hnb=22&js=1"></SCRIPT>

Und da funktioniert es auch ohne diese Zeichen.

Woran liegt es denn wirklich, daß das nicht richtig funktioniert? Muß ich den Googlecode ändern und diese Sonderzeichen einbauen und sie halt fragen ob das ok ist oder liegt der Fehler woanders?

danke,
Sebastian

  1. Getestet habe ich das mit Mozilla 1.7. Mit anderen Browsern habe ich es nicht getestet aber es soll ja überall funktionieren.

  2. Hi,

    ich habe mir jetzt das entsprechende Script eingebaut.

    welches Script? Zielt Deine Frage auf Dein Posting https://forum.selfhtml.org/?t=97360&m=592499? Wenn ja, warum erwartest Du, daß wir dieses kennen bzw. jetzt danach suchen? Und vor allem: warum bleibst Du dann nicht in diesem Thread?
    Auch Deine Frage https://forum.selfhtml.org/?t=97375&m=592664 hättest Du ruhig dort noch stellen können.

    freundliche Grüße
    Ingo

    1. Weil es schon so weit weg ist, die Frage eine andere ist und daher auch andere was dazu sagen könnten.

      Ich habe doch den Code den ich benutzt habe gepostet oder? Muß gleich noch einmal schauen.

      Grüße,
      Sebastian

      1. Hi,

        Weil es schon so weit weg ist,

        wie bitte? Keine 17 Stunden sind für Dich "weit weg"? Ich bitte Dich...

        die Frage eine andere ist und daher auch andere was dazu sagen könnten.

        Lies bitte [http://forum.de.selfhtml.org/faq/#Q-06c] und beherzige dies.

        freundliche Grüße
        Ingo

        1. Hallo Ingo,

          die Frage eine andere ist und daher auch andere was dazu sagen könnten.
          Lies bitte [http://forum.de.selfhtml.org/faq/#Q-06c] und beherzige dies.

          Lies bitte http://forum.de.selfhtml.org/faq/#Q-19 und beherzige dies.

          *SCNR*

          Gruss aus Luzern,
          Daniel

          1. Hi,

            Lies bitte [http://forum.de.selfhtml.org/faq/#Q-06c] und beherzige dies.

            Lies bitte http://forum.de.selfhtml.org/faq/#Q-19 und beherzige dies.

            *SCNR*

            jaja ich weiß... ;-)
            Fast hätte ich #Q-19 selbst noch nachträglich angeführt.

            freundliche Grüße
            Ingo

        2. Gut, dann war es falsch. Jetzt gut?

          Es hätte mir allerdings mehr geholfen, wenn du meine Frage beantwortest hättest anstatt das Forum mit Kritik zu füllen.

          Es geht nicht um die 17Stunden sondern darum, daß der Beitrag irgendwo ganz unten auf der Seite wäre und da die Frage nichts mit dem Code an sich sondern mit Javascript allgemein zu tun hat sollte sich die Frage an alle wenden. Leider hat bisher noch niemand etwas dazu geschrieben und so weiß ich immer noch nicht woran der Fehler liegt. Kannst du mir sagen woran es liegt oder ist dir Kritik wichtiger?

          Und was soll ich jetzt machen? Soll ich die Frage noch einmal und diesmal allgemeiner stellen? Dann kritisierst du ja schon wieder.

          Grüße,
          Sebastian

          1. Hi,

            Und was soll ich jetzt machen? Soll ich die Frage noch einmal und diesmal allgemeiner stellen? Dann kritisierst du ja schon wieder.

            gut erkannt. ;-)
            Einfach Ruhe behalten und abwarten. Gerade Stammposter lesen hier meist die ältesten Einträge zuerst.

            Zu Deinwer Frage: was meinst Du überhaupt mit "diese Zeichen"? Die eigentlich unnötigen HTML/JS-Kommentare: <!-- //--> ? Die sollten nun wirklich keinerlei Auswirkung haben.

            freundliche Grüße
            Ingo

            1. Genau die meine ich.

              Ich habe den Code zum Seitenneuladen erst nur mit dem Anfangsqoute gehabt. Da wurde auf der ganzen Seite nur ein Werbefenster angezeigt! Es wurde nur der allerletzte Javascripteintrag ausgeführt. Als ich in meinem Code den letzten Quote darumgesetzt hatte wurde die Seite wenigstens komplett angezeigt aber mein Code wurde nicht ausgeführt. Und erst wenn ich die Quotes bei der letzten Anzeige von Google wo Script drumrumsteht, die eine Zeile, setze funktioniert die ganze Seite und mein Code wird ausgeführt und die Seite eingebettet in alle Frames. Und dieses Verhalten tritt bei Opera, Mozilla und IE auf! Ich frage mich jetzt woran das liegen sollte, denn darüber ist ja auch von einer anderen Werbefirma ein Banner wo mit derselben Syntax ein Banner aufgerufen wird ohne Quotes. Ein js glaube ich. Worin liegt also der Unterschied, daß es mit dem einen klappt und mit dem anderen nicht? Kann es in dem js-script liegen?

              Mir ist das ein wenig unklar, denn wenn Google fehlerhaft ist, dann sollte das doch schon jemand aufgefallen sein. Andererseits mit Quotes funktioniert es ja mit google, also woran liegt es?

              Grüße,
              Sebastian Jurk

              1. Hi,

                Was bitte verstehst Du jetzt unter "Quote" bzw. "Anfangsqoute"? Quotes sind "" bzw. ''.

                Was mir aufgefallen ist, ist ein Zeilenumbruch im Script-Tag. Vielleicht verursacht der ja Probleme.

                freundliche Grüße
                Ingo

                1. Mit Quote meinte ich diese Zeichen <!-- und //-->

                  Übrigens haben die Zeichen das Problem nicht behoben gehabt sondern nur das Script nicht ausführen lassen. Irgendwie muß das an dem js-Script von Google liegen. Wie kann das sein? Ist da irgendein übler Code drin und wie kann ich verhindern daß der Code so eine Wirkung hat daß meine Funktion nicht ausgeführt wird?

                  Hier ist das Script: http://pagead2.googlesyndication.com/pagead/show_ads.js

                  Grüße,
                  Sebastian

                  1. Hi,

                    Mit Quote meinte ich diese Zeichen <!-- und //-->

                    dies sind keine Quotes.
                    <!-- --> ist ein HTML-Kommentar und // ein einzeiliger Javascript-Kommentar. Diese Komentierung ist heutzutage nicht mehr erforderlich, kann also weggelassen werden. Dein Problem liegt woanders.

                    freundliche Grüße
                    Ingo

                    1. Und wo?

                      Hier mal die entsprechende Seite. http://www.dethay.de/suche/suche.htm

                      Der Code wird im Moment ausgeführt, die Seite wird also geladen und sofort wird die indexseite nachgeladen samt Navbar und werbeframe. Das funktioniert aber im Moment nur, weil ich den letzten Werbebanner beim letzten Script auskommentiert habe. Wenn man die Kommentarzeichen wieder entfernt dann wird der Indexframe nicht geladen weil meine eigene Funktion nicht ausgeführt wird.

                      Übrigens, wenn ich die Kommentare bei meiner Funktion entferne dann wird meine Seite gar nicht geladen sondern nur das Werbefenster um das es geht auf einem weißen hintergrund. Wenn die Kommentare bei dem Werbefenster weg sind. Sie haben also wohl doch eine Bedeutung.

                      Wie gesagt tritt das Ganze bei Mozilla, Opera und IE6 auf.

                      Woran liegt es also? Ist in dem js-Script von Google eine fiese Sache eingebaut?

                      Grüße,
                      Sebastian

                      1. Hi,

                        Übrigens, wenn ich die Kommentare bei meiner Funktion entferne dann wird meine Seite gar nicht geladen sondern nur das Werbefenster um das es geht auf einem weißen hintergrund. Wenn die Kommentare bei dem Werbefenster weg sind. Sie haben also wohl doch eine Bedeutung.

                        Du solltest zunächst einmal wissen, was diese Kommentare bewirken: Normalerweise nichts.
                        Sie sind dazu gedacht, Javascriptcode vor Uralt-Brosern (die heute nicht mehr im Einsatz sind) zu verstecken. Da HTML-Kommentare grundsätzlich dazu führen, daß der hierin eingeschlossene Code nicht interpretiert wird, ist eine Sonderregel eingeführt worden: Ein Kommentar _in der ersten Zeile_ eines Script-Bereichs wird vom Javascript-Interpreter ignoriert. Der einzeilige Javascript-Kommentar // verbirgt dann das Kommentarende --> vor dem Javascript-Interpreter.
                        Wenn sich diese Kommentierung bei Deiner Seite nun auswirkt, dann vermutlich deshalb, weil Du die Zeilenumbrüche etwas merkwürdig gesetzt hast:

                        //--></script>
                        <script type="text/javascript"

                        <!--

                        Wenn Du Kommentaranfang und -ende jeweils in eine eigene Zeile setzt, sollte sich der Kommentar auch nicht auswirken - das Problem wird aber weiterbestehen, wenn es an einer Wechselwirkung der einzelnen Scripte liegt.

                        freundliche Grüße
                        Ingo

                        1. Der normale Code den Google herausgibt und den man nicht ändern darf sieht so aus:

                          <script type="text/javascript"><!--
                          google_ad_client = "pub-5566686282407930";
                          google_ad_width = 300;
                          google_ad_height = 250;
                          google_ad_format = "300x250_as";
                          google_ad_channel ="";
                          google_ad_type = "text";
                          google_color_border = "3300CC";
                          google_color_bg = "0000CC";
                          google_color_link = "90EE90";
                          google_color_url = "FFFFFF";
                          google_color_text = "FFFFFF";
                          //--></script>
                          <script type="text/javascript"
                            src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
                          </script>

                          Ich weiß nicht  warum mein Script einfach nicht ausgeführt wird. Ist in dem js-Script irgendein Fehler? Denn wenn ich es nicht ausführen lasse funktioniert ja mein Script wieder. Wenn darin ein Fehler ist, wie kann ich trotzdem meine Funktion ausführen lassen?

                          Grüße,
                          Sebastian

  3. Ich habe den ganzen Javascriptcode gepostet um den es geht. Welche Informationen braucht es noch? Übrigens tritt der Fehler bei Mozilla, Opera und IE bei mir auf.

    Woran kann es liegen? Ist der Code von Google fehlerhaft? Ich glaube kaum, daß diese modernen Browser die Platzhalter brauchen denn dann hätte Google den Code sicherlich schon längst geändert.

    Wo ist der Fehler?

    Danke!
    Sebastian

  4. Ups. Fehler gemacht. Die Quotes bei Google führen nur dazu daß deren Code nicht ausgeführt wird und damit das Banner nicht angezeigt wird. Habe ich nicht gesehen. Aber warum verursacht das Script, daß meine eigene Funktion nicht ausgeführt wird? Und was kann ich dagegen tun? Ich glaube nicht, daß das so sein soll oder?

    Grüße,
    Sebastian