Christiane: Willkürliches ausführen einer Function

Hallo,

ich hoffe es hat einer einen Rat. Eine javascript-Function wird mal ausgeführt und dann wieder nicht. Genauso geht es mit CSS. Erst dachte ich das es daran liegt, wenn die Seiten direkt vom Server nicht aus dem Cache geladen werden. Doch es tritt auch zwischen durch bzw. am Anfang gar nicht auf. Lade ich es durch aktualisieren neu, funktioniert alles. Da es willkürlich auftritt und meistens bei MIE 6.0 habe ich keine Idee woran es liegen könnte. Vielleicht hatt von Euch eienr eine Idee.

Gruß Christiane

  1. Hallo,

    ich hoffe es hat einer einen Rat. Eine javascript-Function wird mal ausgeführt und dann wieder nicht. Genauso geht es mit CSS. Erst dachte ich das es daran liegt, wenn die Seiten direkt vom Server nicht aus dem Cache geladen werden. Doch es tritt auch zwischen durch bzw. am Anfang gar nicht auf. Lade ich es durch aktualisieren neu, funktioniert alles. Da es willkürlich auftritt und meistens bei MIE 6.0 habe ich keine Idee woran es liegen könnte. Vielleicht hatt von Euch eienr eine Idee.

    http://glasgoogle.de

    Ohne irgendeine Angabe, was du machst, läßt sich nix zu deinem Problem sagen.

    Struppi.

    1. Gut und zwar, generiere ich per Javascript das Frameset mittels document.write. Hier das Script:

      laden = location.search;
      laden = laden.substring(1, laden.length);
      laden = (unescape(laden));
      LaUl = laden.substring(0,1);
      LaUr = laden.substring(1,2);

      var FraUl = new Array("'mein.htm'");
      var FraUr = new Array("'mein2.htm'");

      if (ns4){
      document.open();
      document.write ("<html>");
      document.write ("<head>");
      document.write ("<title>Media on Work</title>");
      document.write ("</head>");
      document.write ("<frameset cols='160,*' frameborder='0' border='0' framespacing='0'>");
      document.write ("<frame src=" + FraUl[LaUl] + "name='ul' scrolling='no' noresize marginheight='0' marginwidth='0'>");
      document.write ("<frameset rows='146,*' frameborder='0' border='0' framespacing='0'>");
      document.write ("<frame src='../menue/hmenue/hm_ser.htm' name='or' scrolling='no' noresize marginheight='0' marginwidth='0'>");
      document.write ("<frame src=" + FraUr[LaUr] + "name='ur' scrolling='Auto' noresize marginheight='0' marginwidth='0'>");
      document.write ("</frameset>");
      document.write ("</frameset>");
      document.write ("</html>");
      document.close();
      }
      else {
      document.open();
      document.write ("<html>");
      document.write ("<head>");
      document.write ("<title>Media on Work</title>");
      document.write ("</head>");
      document.write ("<frameset cols='160,*' frameborder='0' border='0' framespacing='0'>");
      document.write ("<frame src=" + FraUl[LaUl] + "name='ul' scrolling='no' noresize marginheight='0' marginwidth='0'>");
      document.write ("<frameset rows='143,*' frameborder='0' border='0' framespacing='0'>");
      document.write ("<frame src='../menue/hmenue/hm_ser.htm' name='or' scrolling='no' noresize marginheight='0' marginwidth='0'>");
      document.write ("<frame src=" + FraUr[LaUr] + "name='ur' scrolling='Auto' noresize marginheight='0' marginwidth='0'>");
      document.write ("</frameset>");
      document.write ("</frameset>");
      document.write ("</html>");
      document.close();
      }

      Die Browser Abfrage ist wie folgt:

      var ie4 = (document.all) ? true : false;
      var ns4 = (document.layers) ? true : false;
      var ns6 = (document.getElementById && !document.all) ? true : false;
      var mac = (navigator.platform.substring(0,3) == "Mac") ? true : false;

      Und das sagt er mir mal ns4 ist nicht definiert oder der Browser lädt eine Datei nicht!

      Gruß Christiane

      1. Gut und zwar, generiere ich per Javascript das Frameset mittels document.write. Hier das Script:

        laden = location.search;
        laden = laden.substring(1, laden.length);
        laden = (unescape(laden));
        LaUl = laden.substring(0,1);
        LaUr = laden.substring(1,2);

        var FraUl = new Array("'mein.htm'");
        var FraUr = new Array("'mein2.htm'");

        Die werden wohl noch erweitert oder?
        Ansonsten machen die arrays keinen Sinn.

        if (ns4){

        Das Browserweichen, ebenso wie Pixelgenaues Design, Webdesign widerspricht weißt du?

        Bei mir wird deine Seite gar nicht anegzeigt, da ich mit abgeschaltetem JS im Internet surfe. Obwohl mein Browser wunderbar deine Seite angezeigen könnte.

        document.open();
        document.write ("<html>");
        document.write ("<head>");
        document.write ("<title>Media on Work</title>");
        document.write ("</head>");
        document.write ("<frameset cols='160,*' frameborder='0' border='0' framespacing='0'>");
        document.write ("<frame src=" + FraUl[LaUl] + "name='ul' scrolling='no' noresize marginheight='0' marginwidth='0'>");
        document.write ("<frameset rows='146,*' frameborder='0' border='0' framespacing='0'>");
        document.write ("<frame src='../menue/hmenue/hm_ser.htm' name='or' scrolling='no' noresize marginheight='0' marginwidth='0'>");
        document.write ("<frame src=" + FraUr[LaUr] + "name='ur' scrolling='Auto' noresize marginheight='0' marginwidth='0'>");
        document.write ("</frameset>");
        document.write ("</frameset>");
        document.write ("</html>");
        document.close();

        So läßt sich auch nichts sagen. das ns4 undefiniert sein soll, ist ein Rätsel und um zu sehen, was überhaupt passiert, würde ich den genazen output erstmal in einer Variabeln sammeln und dann auf einmal ausgeben. Du kanst die dann die Variabel auch mit einem alert anzeigen lassen.
        Oder zeig dir mal mit open('text/plain') den HTML code an.
        Ansonsten sollte das alles funktionieren.

        Struppi.

        1. Gut und zwar, generiere ich per Javascript das Frameset mittels document.write. Hier das Script:

          laden = location.search;
          laden = laden.substring(1, laden.length);
          laden = (unescape(laden));
          LaUl = laden.substring(0,1);
          LaUr = laden.substring(1,2);

          var FraUl = new Array("'mein.htm'");
          var FraUr = new Array("'mein2.htm'");

          Die werden wohl noch erweitert oder?
          Ansonsten machen die arrays keinen Sinn.

          Ja es sind  natürlich mehr!

          if (ns4){

          Das Browserweichen, ebenso wie Pixelgenaues Design, Webdesign widerspricht weißt du?

          Ja schon. Doch dieses Generierung ist auch dazu da, den zurück-Button im Browser zu überlisten. Da bei einem Frameset der zurück-button nur Seitenweise funktioniert, es sei denn ein frameset wird geladen.

          Bei mir wird deine Seite gar nicht anegzeigt, da ich mit abgeschaltetem JS im Internet surfe. Obwohl mein Browser wunderbar deine Seite angezeigen könnte.

          Ich weiß.

          document.open();
          document.write ("<html>");
          document.write ("<head>");
          document.write ("<title>Media on Work</title>");
          document.write ("</head>");
          document.write ("<frameset cols='160,*' frameborder='0' border='0' framespacing='0'>");
          document.write ("<frame src=" + FraUl[LaUl] + "name='ul' scrolling='no' noresize marginheight='0' marginwidth='0'>");
          document.write ("<frameset rows='146,*' frameborder='0' border='0' framespacing='0'>");
          document.write ("<frame src='../menue/hmenue/hm_ser.htm' name='or' scrolling='no' noresize marginheight='0' marginwidth='0'>");
          document.write ("<frame src=" + FraUr[LaUr] + "name='ur' scrolling='Auto' noresize marginheight='0' marginwidth='0'>");
          document.write ("</frameset>");
          document.write ("</frameset>");
          document.write ("</html>");
          document.close();

          So läßt sich auch nichts sagen. das ns4 undefiniert sein soll, ist ein Rätsel und um zu sehen, was überhaupt passiert, würde ich den genazen output erstmal in einer Variabeln sammeln und dann auf einmal ausgeben. Du kanst die dann die Variabel auch mit einem alert anzeigen lassen.

          Habe ich gemacht und da funzt es auch. Deshalb ist es mir ein Rätsel!

          Oder zeig dir mal mit open('text/plain') den HTML code an.
          Ansonsten sollte das alles funktionieren.

          Aber Danke!

          Christiane