Peter: durch onload funktin popup-blocker ausgelöst

Hey Leute ich hoffe ihr könnt mir helfen.
Ich habe das Problem das eine Javasrcipt-Funktion von mir im IE geblockt wird.

Kurzer Erklärung:
Ich habe ein Frameset wo im oberen Frame, Zitate angezeigt werden.
Diese wechseln automatisch nach der vorgegebenden Zeit.
Leider blockt (so glaube ich) der IE die onload funktion.

Quelltext:

  
<html>  
<head>  
  
  
</head>  
<body style="background-image:url(bg_noten37.jpg); font-family:Script MT Bold; color:darkblue"; onload="rotate();setInterval(rotate,6000)">  
  
<center><br>
<script type="text/javascript">  
var count=0;  
header=  
[  
  "Die Musik drückt das aus",  
  "Das Beste in der Musik s",  
  "Musik ist höhere Offenba",  
  "Ich betrachte die Musik ",  
  "Musik allein ist die Welh",  
  "Die Musik hat von allen K",  
  "Geh, wohin du willst: Wo ",  
  "Mit Hilfe der göttlichen " ,  
  "Musika ist eine halbe Dis",  
  "Ein Talent, das jedem fro" ,  
  "Ein gutes Tier ist das Kl"  
  
  
];  
function rotate()  
{  
  tdRotate.innerHTML = header[count++];  
  if(count >= header.length)  
    count=0;  
}  
</script>
~~~~~~html
  
  
<table><tr><td id='tdRotate' style="font-size:20px;">  
</td></tr></table>  
</center>  
</body>  
</html>

(wegen der Übersicht habe ich die Zitate hierfür abgekürzt)

Nun hoffe ich mal das einer von euch vlt. eine gute Idee hat wie ich den Blocker "umgehen" (ich weiß rechtlich verboten, aber wust gerade nicht wie ich mich besser ausdrücken soll (= ) kann bzw. ich diese Funktion umsetzen kann, ohne den Blocker auszulösen.
(vlt. ein andere Befehl für onload der meiner Meinung nach den Block auslöst)

lg Peter

Schonmal ein Danke für die Auseinandersetzung des Problems. =)

  1. Ich würde behaupten, Du hast eher ein Timing-Problem. Packe das Script mal testweise in den head.

    Übrigens kannst Du die Funkion rotate sehr vereinfachen:

    function rotate() {  
       tdRotate.innerHTML = header[count++ % header.length];  
    }
    

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Vereinfachungen sind immer gut =) danke schonmal für den Hinweis
      ,aber der "Trick" mit dem head funktioniert leider nicht.

      Kann man die onload funktion vlt auf der indexseite in das Frameset einbauen das sie dort geladen wird???
      (bin mitlerweile etwas verzweifelt das kommen 1000 dumme ideen =))

      1. Mal noch eine Dumme Frage zw-durch.
        Kann es sein das der Fehler weg geht sobald die Seite hochgeladen ist?
        Da im Moment ja noch alles auf den Arbeitsplatz liegt.

        1. Kann es sein das der Fehler weg geht sobald die Seite hochgeladen ist?

          Ja.

          Was du meinst hat wahrscheinlich nichts mit Popup-Blockern zu tun, schließlich öffnest du nirgendwo ein Popup - zumindest nicht in dem JS-Code, den du uns gezeigt hast.

          Meinst du vielleicht das hier: http://aktuell.de.selfhtml.org/artikel/sonstiges/markoftheweb/

          Mathias

          1. Also der Link war die genau das richtige :D
            Da habe ich mich auf ein irrweg führen lassen und war der meinung es sei der popup-blocker der da zickt und dann wars ne sperrung der lokalen zone.

            Also kann als gelöst eingetragen werden.

            Die lösung für das problem ist das einfügen der zeile

            <!-- saved from url=(0013)about:internet -->  
            
            

            in den quelltext.

            Dank euch nochmal.

            <-- jetzt wieder gut schlafen kann =)

  2. Hallo,

    <script type="text/javascript">

    function rotate()
    {
      tdRotate.innerHTML = header[count++]; // <- Was ist hier tdRotate?
      if(count >= header.length)
        count=0;
    }
    </script>

      
    Die Variable tdRotate wird nirgends definiert, jedenfalls nicht in dem Code, den du gezeigt hast. Es reicht nicht, dass ein HTML-Element mit dieser id existiert. Man muss es auch als DOM-Objekt im Zugriff haben, wenn man seinen Inhalt ändern will.  
      
    Gruß, Don P  
    
    
    1. Hi,

      Es reicht nicht, dass ein HTML-Element mit dieser id existiert. Man muss es auch als DOM-Objekt im Zugriff haben, wenn man seinen Inhalt ändern will.

      ... außer man verwendet den IE, der auch unaufgefordert den Namespace des window-Objekts mit Referenzen zu HTML-Elementen verunreinigt, die eine ID haben.

      So long,
       Martin

      --
      Ich bin 30. Ich demensiere apokalyptisch.
        (Orlando)