HighDots Forums  

Frage wg. 'self.location'

Javascript (German) Programmiersprache JavaScript. (de.comp.lang.javascript)


Discuss Frage wg. 'self.location' in the Javascript (German) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Benny Blomberg
 
Posts: n/a

Default Frage wg. 'self.location' - 11-06-2009 , 03:07 AM






Gruss Gott

Ich habe bisher immer dieses kleine Script in allen meinen Seiten
gehabt:

<script type="text/javascript">
<!--
if(top.frames.length > 0)
top.location.href="self.location";
//-->
</script>

Jetzt habe ich aber gelesen, dass das schlecht sei aber es stand nicht
warum.

Aus welchen Gründen soll das nicht drin sein? Ist es veraltet? Sollte
ich es überall entfernen oder kann ich es lassen? Gibt es was besseres,
um sich nicht in fremden Frames zu verfangen? Ich möchte hinzufügen,
dass ich keine Ahnung von js habe.

Danke im voraus.

Benny

Reply With Quote
  #2  
Old   
Matthias Reuter
 
Posts: n/a

Default Re: Frage wg. 'self.location' - 11-06-2009 , 03:59 AM






Benny Blomberg schrieb:

Quote:
Ich habe bisher immer dieses kleine Script in allen meinen Seiten
gehabt:

script type="text/javascript"
!--
if(top.frames.length > 0)
top.location.href="self.location";
//--
/script

Jetzt habe ich aber gelesen, dass das schlecht sei aber es stand nicht
warum.
Schlecht daran sind drei Dinge:

1. Die Kommentare um das Skript. Das war damals (Netscape 3) ein Trick,
damit Browser, die das Script-Tag nicht kennen, den Inhalt nicht
darstellen. Heute kennen alle Browser das Script-Tag, also kannst Du die
Kommentare weglassen.

2. self.location darf nicht in Anführungszeichen stehen.

3. Die Lösung baut auf Javascript auf. Wer das deaktiviert hat (oder sonst
ein wenig Ahnung hat), wird Deine Seite trotzdem in fremden Framesets
sehen können. Eine Lösung, die auch ohne Javascript funktioniert, gibt es
nicht.


Warum möchtest Du denn die Anzeige Deiner Seiten in Frames verhindern?

Gruß,
Matthias

Reply With Quote
  #3  
Old   
Arno Welzel
 
Posts: n/a

Default Re: Frage wg. 'self.location' - 11-06-2009 , 04:08 AM



Benny Blomberg schrieb:

Quote:
Gruss Gott

Ich habe bisher immer dieses kleine Script in allen meinen Seiten
gehabt:

script type="text/javascript"
!--
if(top.frames.length > 0)
top.location.href="self.location";
//--
/script
Erstens ist der Code falsch. self.location wird hier als Text übergeben
- d.h. als URL wird eben "self.location" gesetzt und nicht die echte URL.

Besser, siehe
<http://de.selfhtml.org/javascript/beispiele/seitenanzeige.htm>:

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

Trotzdem halt ich solche Spielereine für eine schlechte Idee, da sowas
nur funktioniert, wenn beim Benutzer JavaScript läuft - d.h. die Seite
verhält sich je nach dem, ob JavaScript möglich ist oder nicht komplett
anders.

Zudem gibt es einige Dienste, die ganz bewusst Frames benutzen - z.B.
Google Bildersuche, die bei Fundstellen oben die Adresse und ein
Thumbnail vom gefundenen Bild anzeigt und darunter in einem eigenen
Frame die Seite, wo das Bild zuletzt gefunden wurde.

Wenn man sowas für seine eigenen Seiten nicht will - eine geeignete
robots.txt hilft, auch Google hält sich daran.

Quote:
Aus welchen Gründen soll das nicht drin sein? Ist es veraltet? Sollte
ich es überall entfernen oder kann ich es lassen? Gibt es was besseres,
um sich nicht in fremden Frames zu verfangen? Ich möchte hinzufügen,
dass ich keine Ahnung von js habe.
Warum willst Du überhaupt "in fremde Frames verfangen" verhindern? Wenn
Du den Verdacht hast, dass jemand deine Seiten unerwünscht in eigene
Frames einbindet, dann ist ein Hinweis an den Betreiber meist sinnvoller.


--
http://arnowelzel.de
http://de-rec-fahrrad.de

Reply With Quote
  #4  
Old   
Benny Blomberg
 
Posts: n/a

Default Re: Frage wg. 'self.location' - 11-06-2009 , 04:41 AM



Arno Welzel wrote:
[...Weisheiten gespeichert. Danke!...]

Quote:
Warum willst Du überhaupt "in fremde Frames verfangen" verhindern?
Wenn Du den Verdacht hast, dass jemand deine Seiten unerwünscht in
eigene Frames einbindet, dann ist ein Hinweis an den Betreiber meist
sinnvoller.
Ich will ganz einfach nur, dass meine Seiten sich in einem eigenen
Fenster öffnet, das ist alles.

Benny

Reply With Quote
  #5  
Old   
Benny Blomberg
 
Posts: n/a

Default Re: Frage wg. 'self.location' - 11-06-2009 , 04:42 AM



Matthias Reuter wrote:
[....]
Quote:
Schlecht daran sind drei Dinge:

1. Die Kommentare um das Skript. Das war damals (Netscape 3) ein
Trick, damit Browser, die das Script-Tag nicht kennen, den Inhalt
nicht darstellen. Heute kennen alle Browser das Script-Tag, also
kannst Du die Kommentare weglassen.

2. self.location darf nicht in Anführungszeichen stehen.

3. Die Lösung baut auf Javascript auf. Wer das deaktiviert hat (oder
sonst ein wenig Ahnung hat), wird Deine Seite trotzdem in fremden
Framesets sehen können. Eine Lösung, die auch ohne Javascript
funktioniert, gibt es nicht.
Interessant. Danke!

Quote:
Warum möchtest Du denn die Anzeige Deiner Seiten in Frames verhindern?
Meine Seiten haben sich gefälligst in einem eigenen Fenster zu öffnen.

Benny

Reply With Quote
  #6  
Old   
Chris Seidel
 
Posts: n/a

Default Re: Frage wg. 'self.location' - 11-06-2009 , 05:25 AM



On Fri, 06 Nov 2009 10:42:29 +0100, Benny Blomberg <spam_kuebel (AT) gmx (DOT) at>
wrote:

Quote:
Meine Seiten haben sich gefälligst in einem eigenen Fenster zu öffnen.
Das erreichst du damit aber nicht. Du "klaust" ja das vorhandene Fenster..

Reply With Quote
  #7  
Old   
J. Strübig
 
Posts: n/a

Default Re: Frage wg. 'self.location' - 11-06-2009 , 05:30 AM



Matthias Reuter schrieb:
Quote:
1. Die Kommentare um das Skript. Das war damals (Netscape 3) ein Trick,
damit Browser, die das Script-Tag nicht kennen, den Inhalt nicht
darstellen.
Das ist zwar prinzipiell richtig, aber schon Netscape 2 konnte
Javascript. Es ging also schon damals um veraltete Browser, die kaum
anzutreffen waren.

Struppi.

Reply With Quote
  #8  
Old   
AT
 
Posts: n/a

Default Re: Frage wg. 'self.location' - 11-06-2009 , 05:50 AM



*Matthias Reuter* wrote on Fri, 09-11-06 09:59:
Quote:
wird Deine Seite trotzdem in fremden Framesets sehen k÷nnen. Eine
L÷sung, die auch ohne Javascript funktioniert, gibt es nicht.
Dem Betrachter wird das relativ egal sein. Es geht darum, daß niemad
fremde Seiten einfach vereinnahmen kann. Es gibt eine Lösung, die zwar
nicht sofort funktioniert aber beim ersten Klick:

<BASE TARGET="_top"> im Seitenkopf

Quote:
Warum m÷chtest Du denn die Anzeige Deiner Seiten in Frames verhindern?
Das sollte eigentlich klar sein. Niemand möchte, daß seine Arbeit von
einem anderen gekapert und als Teil von dessen Auftritt ausgegeben
wird. Im Titel steht dabei der Name des Frameset und gebookmarkt wird
auch nur das.

Reply With Quote
  #9  
Old   
AT
 
Posts: n/a

Default Re: Frage wg. 'self.location' - 11-06-2009 , 05:57 AM



*Arno Welzel* wrote on Fri, 09-11-06 10:08:
Quote:
Warum willst Du nberhaupt "in fremde Frames verfangen" verhindern? Wenn
Du den Verdacht hast, dass jemand deine Seiten unerwnnscht in eigene
Frames einbindet, dann ist ein Hinweis an den Betreiber meist sinnvoller.
Warum willst Du überhaupt Deine Wohnung abschließen? Wenn Du den
Verdacht hast, jemand habe Deine Wertsachen gestohlen, ist es meist
sinnvoller, zu demjenigen hinzugehen und sie wiederzuholen.

Reply With Quote
  #10  
Old   
Thomas 'PointedEars' Lahn
 
Posts: n/a

Default Re: Frage wg. 'self.location' - 11-06-2009 , 06:11 AM



Benny Blomberg wrote:

Quote:
Ich habe bisher immer dieses kleine Script in allen meinen Seiten
gehabt:
[...]
Jetzt habe ich aber gelesen, dass das schlecht sei aber es stand nicht
warum.
Es ist schon deshalb schlecht, weil Du nicht weisst, warum es tut was es
(vielleicht) tut.

Quote:
[...] Ich möchte hinzufügen, dass ich keine Ahnung von js habe.
Dann lern es.

<http://dcljs.de/>


PointedEars

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.