Zahnspangenterminator: Kann man es verhindern, dass...

..., dass Opera hierbei durhdreht:
<script language="JavaScript">
<!--
function is_msie() {
return (navigator.appName == "Microsoft Internet Explorer");}
function Framing(){
if (this.document == top.document ||
top.location.host != this.location.host) {
var pathprefix = location.protocol + '//'

  • location.host
  • location.pathname.substring(0,
    location.pathname.lastIndexOf('/')+1);
    var doctitle = document.title;
    document.clear();
    document.open("text/html");
    document.writeln('<html>\n<head><title>WC24 - Der Webmaster-Channel</title></head>');
    document.writeln('<frameset rows="82,*" border="0">'+
    '<frame src="oben.php" scrolling="no"><frameset  cols="140,*,120" border="0"><frame src="navi.html">'+
    '<frame src="'+top.location.href+'" name="Anzeige">'+
    '<frame src="rechts.php" name="Rechts"></frameset></frameset><noframes>Ihr Browser unterstützt keine Frames!</noframes></head><body></body></html>');
    document.close();
    return true;
    }
    return false;
    }
    function msieFraming() {
    if (is_msie()) {
    if (Framing()) {
    window.setTimeout('top.frames["Anzeige"].location.href = '+
    '"'+top.location.href+'";',10);
    }}}
    function netscFraming() {
    if (!is_msie()) Framing();
    }
    msieFraming();
    //-->
    </script>

es ist ein Script, welches (auf eine etwas aufwändige Weise) checkt, ob eine Seite im Frame ist und wenn nicht, den automatisch nachlädt. Und Opera spielt bei diesem Script verrückt. Wer Opera hat kann sich das ja mal unter http://www.wc24.de.vu anschauen.
Kann man das irgendwie verhindern, dass Opera verrückt spielt oder gibt es ein einfacheres Script, welches vielleicht auch Opera versteht???

  1. Hi,

    ..., dass Opera hierbei durhdreht:

    wärst Du so nett, uns Deine Definition von "durchdrehen" und "verrückt spielen" mitzuteilen?

    Cheatah

    1. Hi,

      ..., dass Opera hierbei durhdreht:

      wärst Du so nett, uns Deine Definition von "durchdrehen" und "verrückt spielen" mitzuteilen?

      Cheatah

      Abba klaaa: Obwohl die Seite schon im Frame dargestellt wird, wird der Frame IM Anzeigeframe wiederum nachgeladen und so siehts gräßlich aus...

      1. Hallo,

        Auch wenn's Dir jetzt nicht viel weiterhilft:

        Ich habe das gleiche Problem mit dem nachladen einer anderen Seiten in ein vorgegebenes Framset per Suchstring (z.B. fs_xyz.htm?beispiele/abc.htm).

        Opera kriegt das einfach nicht auf die Reihe, sprich, er lädt die Seite immer wieder in einer Art Endlosschleife nach und um da wieder rauszukommen, muß man Opera gewaltsam abbrechen. Alle anderen Browser kommen gut damit zurecht.

        Wäre schön, wenn es da wirklich ne Lösung gäbe.

        Gruß, Birgit

  2. Kann man das irgendwie verhindern, dass Opera verrückt
    spielt oder gibt es ein einfacheres Script, welches
    vielleicht auch Opera versteht???

    hi zahnspange,

    <script language="JavaScript1.2" type="text/javascript">
    <!--
    if (self != top) {
      top.location.href=self.location.href;
    }
    // -->
    </script>

    mfg
    mathias

    1. Antwort falsch, das zerstört nur Frames, lädt sie aber net nach

  3. Hallo Zahnspangenterminator;

    ich prüfe mit

    if(parent.frames.length == 0)

    ob meine Seite schon im Frame steckt. Diese Abfrage merkt allerdings nicht, wenn die Seite schon in einem (falschen) Frame steckt.

    Unter http://www.uni-muenster.de/Physik/AP/Purwins/

    kannst Du nachschauen, wie ich einen fremden Frame sprenge, und wie ich meine Seiten in den (richtigen) Frame packe. Ich hab das übrigens irgendwo hier bei selfhtml (sinngemäß) abgeschrieben.

    Gruß,    Jürgen

    1. Hallo Zahnspangenterminator;

      ich prüfe mit

      if(parent.frames.length == 0)

      ob meine Seite schon im Frame steckt. Diese Abfrage merkt allerdings nicht, wenn die Seite schon in einem (falschen) Frame steckt.

      Unter http://www.uni-muenster.de/Physik/AP/Purwins/

      kannst Du nachschauen, wie ich einen fremden Frame sprenge, und wie ich meine Seiten in den (richtigen) Frame packe. Ich hab das übrigens irgendwo hier bei selfhtml (sinngemäß) abgeschrieben.

      Gruß,    Jürgen

      Nomma für dich: ich will keinen Frame zerstören, sondern prüfen, ob einer vorhanden ist, und wenn nicht Frames NACHLADEN!!!

      1. Nomma für dich: ich will keinen Frame zerstören, sondern prüfen, ob einer vorhanden ist, und wenn nicht Frames NACHLADEN!!!

        Schau rein, meine Seiten machen BEIDES!

        http://www.uni-muenster.de/Physik/AP/Purwins/Beschreibung.html Öffnet erst die Seite ohne Frame und baut den Frame dann darum.

        Gruß, Jürgen

        1. Nomma für dich: ich will keinen Frame zerstören, sondern prüfen, ob einer vorhanden ist, und wenn nicht Frames NACHLADEN!!!

          Schau rein, meine Seiten machen BEIDES!

          http://www.uni-muenster.de/Physik/AP/Purwins/Beschreibung.html Öffnet erst die Seite ohne Frame und baut den Frame dann darum.

          Gruß, Jürgen

          Hmm, scheint das zu sein, was ich suche, kannst du mal den Quelltext kommentiert hier hinposten?

          1. Hi,

            Hmm, scheint das zu sein, was ich suche, kannst du mal den Quelltext kommentiert hier hinposten?

            kannst Du bitte auf die Titelzeile Deines Browser sehen und Dir die ersten vier Buchstaben mal durch den Kopf gehen lassen?

            Cheatah

            1. Hi,

              Hmm, scheint das zu sein, was ich suche, kannst du mal den Quelltext kommentiert hier hinposten?

              kannst Du bitte auf die Titelzeile Deines Browser sehen und Dir die ersten vier Buchstaben mal durch den Kopf gehen lassen?

              Cheatah

              Jaja, aber es gibt auch newbies (würde mich in Sachen js darauf hinabbegeben), zudem wartet Birgit auch auf sowas

              1. Hi,

                Jaja, aber es gibt auch newbies (würde mich in Sachen js darauf hinabbegeben), zudem wartet Birgit auch auf sowas

                auch und gerade von Newbies erwarte ich hier, dass sie sich mit der Materie beschäftigen und zumindet _versuchen_, dass Problem selbst zu lösen. Dass sie dabei mehr Schwierigkeiten haben ist klar; das resultiert in entsprechenden Rückfragen, die auch gerne (zumindest sofern sich Mühe erkennen lässt) beantwortet werden.

                Ein "schick mir mal die fertige Lösung, und zwar bitte kommentiert" halte ich nicht gerade für den Sinn des Self-Gedanken.

                Cheatah

                1. Hej Cheatah,

                  ich muß gestehen, daß ich keine Zeit investiert habe, mir Jürgens Code durchzulesen.
                  Als durchaus erfahrener Programmierer würde ich mir doch so manche Zeile Kommentar wünschen, da nicht immer ganz nachvollzogen werden kann, welcher Sinn hinter einer Zeilen steckt, da nicht genug kommentiert wird bzw. selbstsprechende Variablennamen verwendet wurden.
                  Sprich: Ich kann eine generelle Bitte um Kommentierung von Code aus eigener Erfahrung nachvollziehen.

                  Was spricht denn dagegen, auf eine freundliche Nachfrage ggf. mal ein paar Zeilen Kommentar einzuwerfen? Gibt ja auch sicherlich Newbies, die bisher nicht ganz so viel Zeit in JS-Programmierung investieren konnten wie Du ;o) und entsprechend etwas auf dem Schlauch stehen, oder?

                  Ich finde die Bitte nach den Kommentar jedenfalls nicht schlimm und mehr als ablehnen hätte Jürgen das ja auch nicht können. Finde es aber extrem nett von ihm, daß er es noch gemacht hat!

                  Schöne Grüße aus dem Westen,
                  Marko

                  1. Hi,

                    Sprich: Ich kann eine generelle Bitte um Kommentierung von Code aus eigener Erfahrung nachvollziehen.

                    ja, ich auch. Allerdings kann ich eine Bitte um Lösungs-Lieferung nicht verstehen. Es ist insbesondere die Formulierung "scheint das zu sein, was ich suche, kannst du mal [...]", die mich erregt hat.

                    Gibt ja auch sicherlich Newbies, die [...] entsprechend etwas auf dem Schlauch stehen, oder?

                    Sicher. Hätte die Bitte etwa gehießen: "Ich verstehe diese und jene Zeile/Funktion nicht, kannst Du mir erklären, was damit gemeint ist?", hätte ich mir möglicherweise sogar selbst die Mühe gemacht, den Code zu erläutern.

                    Ich finde die Bitte nach den Kommentar jedenfalls nicht schlimm

                    "Der Ton macht die Musik."

                    Cheatah

                    P.S.: Ja, das gilt auch für mich, ich weiß. Vielleicht fühle ich mich als Dirigent und reagiere daher allergisch auf Disharmonien, das will ich nicht ausschließen.

                    1. Ach Leute, nun regt euch doch nicht unnötig auf.

                      Ich bat um einen auskommentierten Text, da ich mit dem von ... der Physikseite (*g*) nix anfangen konnte. Und ich erwarte nicht einen fertigen Quelltext, obwohl es ja schön wäre, sondern einen auskommentierten fast fertigen Quelltext. Ich möchte meinerseites größenteils wissen, was die Scripte auf meinen Seiten bewirken. Und da ich das nicht aus diesem Quelltext konnte, fragte ich um eine auskommentierte Version.

                      @Cheataaaaaaaaaaaaah: Nun reg dich nicht - wie gesagt - auf, war nicht so gemeint, wie komischerweise nur bei dir rüberkam.

                      1. Hi,

                        @Cheataaaaaaaaaaaaah: Nun reg dich nicht - wie gesagt - auf, war nicht so gemeint, wie komischerweise nur bei dir rüberkam.

                        okay, schon vergessen :-)

                        Cheatah

            2. Moin, Cheatah!

              Hmm, scheint das zu sein, was ich suche, kannst du mal den Quelltext kommentiert hier hinposten?

              kannst Du bitte auf die Titelzeile Deines Browser sehen und Dir die ersten vier Buchstaben mal durch den Kopf gehen lassen?

              Was meinst du mit Titelzeile? Da steht in den ersten vier Buchstaben "Oper". Darüber soll man nachdenken? Halt, nein, davor steht noch ein weiteres, aber rotes "O", also "OOpe". Was soll das?

              Oder meinst du die URL-Zeile? "http" steht da in den ersten vier Buchstaben. Darüber nachzudenken ist aber in meinen Augen auch nicht sehr interessant noch führt es zu irgendwelchen wahnsinnigen Erkenntnissen.

              Dein Hinweis scheint mir also irgendwie nicht zielführend zu sein. Vielleicht kann der beim nächsten mal einfach nur noch gedacht werden, mehr aber nicht. :)

              - Sven Rautenberg

              PS: Ja, in diesem Posting wird absichtlich etwas fehlverstanden, aber genauso absichtlich eine Meinung geäußert.

              1. Hi,

                Was meinst du mit Titelzeile? Da steht in den ersten vier Buchstaben "Oper".

                *seufz* ich wusste, dass ein Opera-User gleich einwendet... :-)

                Darüber soll man nachdenken?

                Ich habe nicht von "man" geredet, und auch Dich nicht angesprochen[1]. Bei dem Programm, dass ich beim Zahnspangenterminator erwarte, steht in der Titelzeile am Anfang "SELF" - nicht, dass Du das nicht wüsstest... oder? ;-)

                Cheatah

                [1] Das würde ich niemals wagen! *g*

          2. In die Welcome.html muss rein:

            function start() {

            // Prüfen, ob im fremden Frame
                top.location.target='_top';
                if(window.location.target != '_top') {top.location.href=window.location.href};

            // Aufrufparameter (das ab dem?) abholen (search),
            //  ? entfernen (substring)
            //  und zerlegen (split)
                var Adressanhang=location.search;
                if(Adressanhang) {
                  var links = Adressanhang.substring(1,Adressanhang.length).split(";");

            // Der 1. Parameter ist Name der Datei für Frame "Menu", der zweite für "Main
                  if(links.length==2) {
                    frames.Menu.location.href=links[0];
                    frames.Main.location.href=links[1];
                  }
                }
            }
            <FRAMESET ... ONLOAD="start()">

            ...

            in die Inhaltsseite:

            // Prüfen, ob im Frame, wenn nein, Welcome.html aufrufen,
            // und als Parameter (hinter dem?) mitteilen, was in Menu und Main rein soll
                if(parent.frames.length == 0) location.href="Welcome.html?MenuF.html;" + location.pathname;

            Leider recht knapp, aber die Kinder warten, und wie schon gesagt, steht alles irgendwo im selfhtml (Feature?)

            Gruß,  Jürgen

            1. Hey, danke!
              Ich werde mir das schon zurechtstokeln... ;)

              Danke nochmal *knuddl* *knutsch* *drück*