PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frame-Sprenger



ContainerDriver
21-10-2004, 22:19
Hallo Leute,
ich habe ein kleines Problem.
Aber gleich mal vorweg: wahrscheinlich gefällt einigen der Inhalt dieses Post nicht (kann ich mir zumindest vorstellen). Sollte das der Fall sein, löscht ihn bitte.

Nun zum Problem:
ich habe eine kostenlose Domain von freecity (bzw. ich nicht, aber die Person, für die ich die Webseite mache). Diese Domain stellt eine Umleitung zu einer anderen Seite dar. Freecity baut aber vorher noch ein Frameset ein, mit einem versteckten Frame oben, um wohl irgendwie ein JavaScript PopUp-Fenster zu öffnen (ich habe mir den Quellcode noch nicht näher angeschaut). Die richtige Seite wird dann im Frame unten dargestellt. An sich ja kein Problem.
Aber das Frameset stellt kein HTML dar (vorher war die Seite mal HTML-konform!). Außerdem gibt es dann auf der Seite wieder ein Frameset & das finde ich schlecht!
Nunja, im Grunde müsste es ja möglich sein, über JavaScript, das Frameset zu zerstören (sprich, das nur noch die richtige Seite angezweigt wird).
Deshalb meine Frage: habt ihr schon mal sowas programmiert? Wenn ja, würdet ihr dann mal den Code posten?

Wenn nein, werde ich mich wohl wieder in JavaScript einarbeiten müssen :(

Gruß, Florian

sixfriends
22-10-2004, 20:24
Ich bin auch bei Freecity und wenn du es mal schaffst, die Popups ganz zu unterdrücken, dann lass es mich wissen ;)
Aber: Bei der Werbe Popup Version wird das Frameset erst nach dem Popup definert, das auch noch nen dynamisch erzeugten Namen hat. --> Es wird geöffnet und ist nur schwierig wieder zu schliessen.
Bei der Werbeframe Version werden 2 Popups geladen, wenn man innerhalb der ersten 5 Sekunden das Frameset zerstört. Und auf die Variable mit der Startzeit kann mein Browser auch nicht per JavaScript zugreifen.

Wenn du allerdings nur auf das Zerstören des Framesets aus bist:
RTFM (http://de.selfhtml.org/javascript/beispiele/seitenanzeige.htm)

ContainerDriver
23-10-2004, 15:59
Servus.
Also die PopUps zu unterdrücken, ist denke ich mal unmöglich, da man ja den Namen des PopUp-Fensters nicht kennt. Man müsste so eine Art Funktion haben, die alle geöffneten Fenster zurückliefert (in einem Array). In diesem müsste man dann nur noch die Namen der Fenster auf "FreeCityPopup*" überprüfen & die gefundenen Fenster schließen. Das geht ja aber leider nicht, weil es keine solche Funktion gibt.

Das mit dem Frames habe ich jetzt hinbekommen (danke für den Link!), hier der wichtige Teil aus der Datei wrapper.html, die nun statt index.html aufgerufen wird:


[...]
<script type="text/javascript">
top.location="index.php";
</script>
[...]
.
Ja, das wars schon. Weniger als ich gedacht habe. Ich habe jetzt noch nicht überprüft, ob das standardkonform ist, müsste aber glaube ich schon der Fall sein (im Opera, Firefox & Konqueror funktioniert es wunderbar).
Wenn der Benutzer allerdings jetzt kein JavaScript (aktiviert) hat, siehts schlecht aus (z.B. mit lynx). Dafür hat man dann aber kein Problem mit dem PopUp mehr ;)

Gruß, Florian

BlueJay
23-10-2004, 20:17
[...]
<script type="text/javascript">
top.location="index.php";
</script>
[...]
.
Ja, das wars schon.


Im geposteten Link war da noch ein kleiner Zusatz, der verhindert, dass durch unglückliches Timing eine Endlosschleife entsteht. Ich rate dir dringend, die Abfrage ebenfalls zu übernehmen.

so long,
BlueJay

sixfriends
24-10-2004, 13:51
@bluejay: Soweit ich das verstanden habe steht dieser Befehl in einer anderen Datei. Von daher sollte es kein Problem sein.

ContainerDriver
24-10-2004, 14:22
Im geposteten Link war da noch ein kleiner Zusatz, der verhindert, dass durch unglückliches Timing eine Endlosschleife entsteht. Ich rate dir dringend, die Abfrage ebenfalls zu übernehmen.

so long,
BlueJay
Oha, das hatte ich übersehen.
Allerdings stimmt das, was sixfriends sagt. Die Zeil steht in wrapper.html (auf die Datei "zeigt" dann die Domain von Freecity).

Gruß, Florian