File: seitenanzeige.htm

package info (click to toggle)
selfhtml 8.1.2-1
  • links: PTS
  • area: non-free
  • in suites: bullseye, buster, jessie, jessie-kfreebsd, squeeze, stretch, wheezy
  • size: 28,076 kB
  • ctags: 4,161
  • sloc: xml: 614; java: 375; makefile: 8
file content (164 lines) | stat: -rw-r--r-- 11,807 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>SELFHTML: JavaScript / Anwendungsbeispiele / Seitenanzeige in Frames verhindern</title>
<link rel="stylesheet" type="text/css" href="../../src/selfhtml.css">
<meta name="description"    content="Wie Sie mit Hilfe von JavaScript die Anzeige eigener Seiten in fremden Frame-Sets verhindern knnen.">
<meta name="keywords"       content="SELFHTML, JavaScript, Frames">
<meta name="author"         content="Redaktion SELFHTML, selfhtml81@selfhtml.org">
<meta name="robots"         content="noindex, nofollow">
<meta name="DC.Publisher"   content="SELFHTML e. V.">
<meta name="DC.Date"        content="2005-08-22T21:21:39+02:00">
<meta name="DC.Identifier"  content="http://de.selfhtml.org/javascript/beispiele/seitenanzeige.htm">
<meta name="DC.Language"    content="de">
<meta name="DC.Rights"      content="../../editorial/copyright.htm">
<meta name="DC.Date.created" content="2001-10-27T08:00+01:00">
<meta name="SELF.Pagetype"  content="page">
<link rel="alternate" type="application/atom+xml" title="SELFHTML-Weblog (Atom, gesamt)" href="http://aktuell.de.selfhtml.org/weblog/atom-feed">
<link rel="alternate" type="application/rss+xml" title="SELFHTML-Weblog (RSS, Auszge)" href="http://aktuell.de.selfhtml.org/weblog/rss-feed">
<link rel="shortcut icon" type="image/x-icon" href="../../src/favicon.ico">
<link rel="author" title="Impressum" href="../../editorial/impressum.htm">
<link rel="contents" title="Inhaltsverzeichnis" href="../../navigation/inhalt.htm">
<link rel="index" title="Stichwortverzeichnis" href="../../navigation/stichwort.htm">
<link rel="search" title="Suche" href="../../navigation/suche/index.htm">
<link rel="help" title="Hilfe" href="../../editorial/index.htm">
<link rel="copyright" title="Urheberrecht" href="../../editorial/copyright.htm">
<link rel="top" title="SELFHTML" href="../../index.htm">
<link rel="up" title="Anwendungsbeispiele" href="index.htm">
<link rel="next" title="Taschenrechner" href="taschenrechner.htm">
<link rel="prev" title="Zwei Frames gleichzeitig ndern" href="zweiframes.htm">
<link rel="first" title="Zwei Frames gleichzeitig ndern" href="zweiframes.htm">
<link rel="last" title="nderungen der Fenstergre berwachen" href="fensterueberwachen.htm">
</head>
<body>

<table cellpadding="4" cellspacing="0" border="0" width="100%">
<tr>
<td colspan="2" class="nav"><a class="an" name="top"><img src="../../src/refkap.gif" width="16" height="13" alt="Teil von"></a> <a href="../../index.htm">SELFHTML</a>/<a href="../../navigation/index.htm" target="_parent" class="navh">Navigationshilfen</a> <img src="../../src/refkap.gif" width="16" height="13" alt="Teil von">&nbsp;<a href="../index.htm">JavaScript/DOM</a> <img src="../../src/refkap.gif" width="16" height="13" alt="Teil von">&nbsp;<a href="index.htm">Anwendungsbeispiele</a></td>
</tr>
<tr>
<td class="doc" width="110"><a href="../../index.htm"><img src="../../src/logo.gif" width="106" height="109" border="0" alt="SELFHTML"></a></td>
<td class="docbot" width="100%"><h1 class="ph1">Seitenanzeige in Frames verhindern</h1></td>
</tr>
<tr>
<td class="doctop">
<img src="../../src/dokx.gif" width="30" height="20" vspace="6" alt="Informationsseite">
</td>
<td valign="top" nowrap="nowrap">
<p>
<img src="../../src/down.gif" width="14" height="10" alt="nach unten">&nbsp;<a href="#hinweise">Hinweise zu diesem Beispiel</a><br>
<img src="../../src/down.gif" width="14" height="10" alt="nach unten">&nbsp;<a href="#quelltext">Quelltext mit Erluterungen</a><br>
</p>
<p><img src="../../src/dokf.gif" width="15" height="10" alt="Beispiel-Seite">&nbsp;<a href="anzeige/seitenanzeige_frameset.htm">Anzeigebeispiel: So sieht's aus</a></p>
</td>
</tr><tr><td colspan="2" class="doc">&nbsp;<a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a>&nbsp;</td></tr>
</table>



<h2><a class="an" name="hinweise">Hinweise zu diesem Beispiel</a></h2>

<p>Wenn Sie eigene WWW-Seiten erstellen, werden Sie kaum wollen, dass Ihr prachtvolles Werk in einem kleinen Fenster einer fremden Seite angezeigt wird. Dies ist jedoch mit Hilfe von <img src="../../src/kap.gif" width="15" height="13" alt="Kapitel">&nbsp;<a href="../../html/frames/index.htm">Frames</a> problemlos mglich, und es gibt einige Web-Guide-Projekte, die unverschmt genug sind, fremde Projekte als "Schaufenster" im eigenen Projekt anzuzeigen. Lesen Sie dazu auch den Abschnitt ber <img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="../../html/frames/layouts.htm#schaufenster">unfaire Schaufenster-Effekte</a>.</p>

<p>Mit einem kleinen JavaScript knnen Sie erzwingen, dass Ihre eigenen Seiten beim Aufruf in jedem Fall das gesamte Browser-Fenster ausfllen. Das Script erzwingt die Anzeige einer HTML-Datei im Vollbild, wenn eine andere Seite versucht, die Datei in ein Frame-Fenster zu laden. Auf "normale" Verweise und Aufrufe der Datei hat das Script keine Auswirkungen.</p>



<p class="doc"><a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a></p>



<h2><img src="../../src/netsc2.gif" width="30" height="30" alt="Netscape 2.0" title="Netscape 2.0"><img src="../../src/msie3.gif" width="30" height="30" alt="MS IE 3.0" title="MS IE 3.0"><img src="../../src/op512.gif" width="30" height="30" alt="Opera 5.12" title="Opera 5.12"><img src="../../src/ffox1.gif" width="30" height="30" alt="Mozilla Firefox 1" title="Mozilla Firefox 1"><img src="../../src/konq31.gif" width="30" height="30" alt="Konqueror 3.1" title="Konqueror 3.1"><img src="../../src/saf1.gif" width="30" height="30" alt="Safari 1.0" title="Safari 1.0">&nbsp;<a class="an" name="quelltext">Quelltext mit Erluterungen</a></h2>

<p>Das Beispiel zeigt die Datei, die das Geladenwerden in ein Frameset verhindert. Die Dateien, die im Anzeigebeispiel zum Frameset gehren, sind fr das Verstndnis ohne Bedeutung.</p>

<h3 class="xmp">Beispiel:</h3>

<p><img src="../../src/dokf.gif" width="15" height="10" alt="Beispiel-Seite">&nbsp;<a href="anzeige/seitenanzeige_frameset.htm">Anzeigebeispiel: So sieht's aus</a></p>

<pre>
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Seitenanzeige in Frames verhindern&lt;/title&gt;
&lt;script type="text/javascript"&gt;
if (top != self)
  top.location = self.location;
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;h1&gt;Keine Chance fr Schaufenster-Anbieter!&lt;/h1&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>

<h3 class="xpl">Erluterung:</h3>

<p>Das kleine JavaScript im Beispiel sollte im Kopf jeder HTML-Datei stehen, die Sie nicht in fremden Frames sehen mchten. Das Script wird beim Laden der Datei automatisch ausgefhrt, da der Code nicht in einer Funktion gebunden ist. In dem Code - er besteht aus einer einzigen <img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="../sprache/bedingt.htm">bedingten Anweisung</a> - wird mit <code>top != self</code> abgefragt, ob die oberste Referenzebene der eigenen Ebene entspricht. Ist <code>self</code>, also das eigene Fenster, gleichzeitig auch das oberste Fenster (<code>top</code>), dann ist alles in Ordnung, und die Anweisung, die von der Bedingung abhngt, wird nicht ausgefhrt. Ist dagegen <code>self</code> <b>nicht</b> das gleiche wie <code>top</code>, bedeutet dies, dass irgendwelche Frames angezeigt werden. In diesem Fall wird die Anweisung <code>top.location = self.location</code> ausgefhrt. Mit dieser Anweisung erzwingen Sie, dass die aktuelle Datei auf jeden Fall im gesamten Anzeigefenster des Browsers angezeigt wird.</p>

<h3>Beachten Sie:</h3>

<p>Bei Opera 5.12 haben Sie keinen Zugriff auf die oberste Fensterebene <code>top</code>, wenn diese nicht zur eigenen Domain gehrt. Sie knnen jedoch ber einen Umweg auch diesen Browser dazu veranlassen, das Frameset zu sprengen. Dazu mssen Sie dafr sorgen, dass ein Verweis mit der Eigenschaft <code>target="_top"</code> angeklickt wird.</p>

<h3 class="xmp">Beispiel:</h3>

<p><img src="../../src/dokf.gif" width="15" height="10" alt="Beispiel-Seite">&nbsp;<a href="anzeige/seitenanzeige_frameset_opera.htm">Anzeigebeispiel: So sieht's aus</a></p>

<pre>
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Seitenanzeige in Frames verhindern&lt;/title&gt;
&lt;script type="text/javascript"&gt;
if (top != self) {
  if (window.opera) {
    window.onload = opera_befreien;
  } else {
    top.location = self.location;
  }
}

function opera_befreien () {
  document.links["befreien"].click();
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;a name="befreien" href="seitenanzeige_opera.htm" target="_top"&gt;&lt;/a&gt;

&lt;h1&gt;Keine Chance fr Schaufenster-Anbieter!&lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>

<h3 class="xpl">Erluterung:</h3>
<p>Innerhalb der Seite befindet sich ein unsichtbarer Verweis (Verweis ohne Verweistext) namens <code>befreien</code>. Dieser Verweis besitzt als Zielfenster <code>_top</code> und als Verweisziel die Seite selbst. Wird nun beim Laden der Seite festgestellt, dass diese sich innerhalb eines fremden Framesets befindet, so verwenden alle Browser auer Opera das <img src="../../src/up.gif" width="14" height="10" alt="nach oben">&nbsp;<a href="#quelltext">oben</a> beschriebene Script. In Opera dagegen wird lediglich der <img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="../sprache/eventhandler.htm">Event-Handler</a>
 <a href="../sprache/eventhandler.htm#onload">onload</a> initialisiert. Der Aufruf <code>window.onload = opera_befreien</code> hat die Aufgabe, nach dem Laden der Seite die Funktion <code>opera_befreien()</code> aufzurufen. Innerhalb der Funktion passiert nichts weiter, als dass der Verweis mit der Methode <code>click()</code> angeklickt wird. Diese undokumentierte Methode funktioniert mit allen Identifikationseinstellungen von Opera. Das Verweisziel ldt sich in die oberste Fensterebene und sprengt das Frameset.</p>



<table cellpadding="4" cellspacing="0" border="0" width="100%">
<tr><td colspan="2" class="doc">
&nbsp;<a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a>
</td></tr>
<tr><td class="doc"><a href="taschenrechner.htm"><img src="../../src/next.gif" width="10" height="10" border="0" hspace="10" alt="weiter"></a></td>
<td width="100%"><img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="taschenrechner.htm">Taschenrechner</a>
</td></tr>
<tr>
<td class="doc"><a href="zweiframes.htm"><img src="../../src/prev.gif" width="10" height="10" border="0" hspace="10" alt="zurck"></a></td>
<td><img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="zweiframes.htm">Zwei Frames gleichzeitig ndern</a>
</td>
</tr>
<tr><td colspan="2" class="doc">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="nav"><a class="an" name="bottom"><img src="../../src/refkap.gif" width="16" height="13" alt="Teil von"></a> <a href="../../index.htm">SELFHTML</a>/<a href="../../navigation/index.htm" target="_parent" class="navh">Navigationshilfen</a> <img src="../../src/refkap.gif" width="16" height="13" alt="Teil von">&nbsp;<a href="../index.htm">JavaScript/DOM</a> <img src="../../src/refkap.gif" width="16" height="13" alt="Teil von">&nbsp;<a href="index.htm">Anwendungsbeispiele</a></td>
</tr>
</table>

<p>&copy; 2007 <img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="../../editorial/impressum.htm">Impressum</a></p>

</body>
</html>