sirbender: Detektieren ob Seite direkt oder im iframe aufgerufen wird..?

Hi,

kann ich irgendwie mit JS detektieren ob meine Webseite direkt ueber ihre URL oder indirekt ueber ein in einer anderen Seite eingebettetes iframe aufgerufen wird?

Geht sowas auch ohne JS?

Alternativ - wenn kein JS vorhanden ist und somit keine Detektion moeglich ist - wuerde ich gerne auf eine andere Seite weiterleiten um den User zu informieren dass JS in seinem Browser nicht aktiv ist.

Vielen Dank,
sb

  1. Hi!

    kann ich irgendwie mit JS detektieren ob meine Webseite direkt ueber ihre URL oder indirekt ueber ein in einer anderen Seite eingebettetes iframe aufgerufen wird?

    Ja, nämlich über die Abfrage (window.parent == window).

    Geht sowas auch ohne JS?

    Nein.

    Gruß, LX

    --
    RFC 1925, Satz 8: Es ist komplizierter als man denkt.
    1. Ganz hübsch ist auch folgender Javascript Code. Dieser verhindert, dass fremde Websiten deine Eigene einfach per iframe oder frames einbinden können.

      <script type="text/javascript">  
      if (top != self)  
        top.location = self.location;  
      </script>  
      
      
      1. Moin Moin!

        Ganz hübsch ist auch folgender Javascript Code. Dieser verhindert, dass fremde Websiten deine Eigene einfach per iframe oder frames einbinden können.

        Nein.

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
        1. Moin.

          Ganz hübsch ist auch folgender Javascript Code. Dieser verhindert, dass fremde Websiten deine Eigene einfach per iframe oder frames einbinden können.

          Nein.

          Doch - zumindest mit ein bisschen zusätzlichem Code.

          Christoph

          1. Danke...aber ich will gar nicht verhindern, dass Leute meine Seite als iframe einbinden. Ich biete den HTML-iframe code an um dies zu tun.

            Was ich verhindern will ist, dass jemand direkt den Inhalt des iframes anzeigt indem er die URL im iframe src='' direkt in den Browser eingibt. Wenn der User dies tut soll mein JS code merken - holla ich bin ja nicht in einem iframe - und dann die Seite zu einer anderen URL forwarden.

            Ist kein JS im Browser aktiv soll ohne JS zu dieser URL geforwarded werden falls dies geht.

            Sorry fuer die doofen Fragen - bin totler Anfaenger :(

            Danke,
            sb

            1. Hola!

              Was spricht denn dagegen, einfach keine Frames zu benutzen?

              Keine Frames, keine Probleme.

              --
              "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                    - T. Pratchett
            2. @@sirbender:

              nuqneH

              Was ich verhindern will ist, dass jemand direkt den Inhalt des iframes anzeigt indem er die URL im iframe src='' direkt in den Browser eingibt. Wenn der User dies tut soll mein JS code merken

              Ob dein JavaScript-Code beim Nutzer ausgeführt wird, ist weit außerhalb deiner Macht.

              Ergo: Dein Vorhaben ist nicht möglich.

              Ist kein JS im Browser aktiv soll ohne JS zu dieser URL geforwarded werden falls dies geht.

              Natürlich nur ohne Erkennung, ob die Ressource im Iframe angezeigt wird oder nicht (denn diese Erkennung geht ja mit JavaScript): http://de.selfhtml.org/html/kopfdaten/meta.htm#weiterleitung@title='meta'-Weiterleitung in http://de.selfhtml.org/html/transit/scripts.htm#noscript@title='noscript'. Probleme: 'noscript' in 'head' nicht valide; 'meta'-Weiterleitung ist pfui.

              Qapla'

              --
              Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
            3. @@sirbender:

              nuqneH

              Danke...aber ich will gar nicht verhindern, dass Leute meine Seite als iframe einbinden. Ich biete den HTML-iframe code an um dies zu tun.

              Dann dürfte wohl die Same Origin Policy deine Träume platzen lassen.

              Qapla'

              --
              Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)