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
|
---
title: Window.openDialog()
slug: Web/API/Window/openDialog
translation_of: Web/API/Window/openDialog
---
<p>{{ ApiRef() }}</p>
<h3 id="Summary" name="Summary">Zusammenfassung</h3>
<p><code>window.openDialog</code> ist eine Erweiterung von <a href="/en/DOM/window.open" title="en/DOM/window.open">window.open</a>. Es ist fast das gleiche, ausser das optional nach <code>windowFeatures</code> zusätzliche Parameter angegeben werden können, und <code>windowFeatures</code> selber wird ein bisschen anders behandelt.</p>
<p>Die optionalen Parameter, wenn vorhanden, werden zu einem JavaScript Array gebündelt und zum neu geöffneten Fenster hinzugefügt als eine Eigenschaft namens <a href="/en/DOM/window.arguments" title="en/DOM/window.arguments">window.arguments</a>. Sie können jederzeit im JavaScript des Fensters verwendet werden, auch während der ausführung eines <code>load</code> handler. Diese Parameter können dafür benutzt werden, um in beide Richtungen Daten mit dem Dialogfenster auszutauschen.</p>
<p>Beachten sie, das nach dem Aufruf von <code>openDialog()</code> sofort weitergefahren wird. Wenn Sie wollen, dass der Aufruf blockiert bis der Benutzer den Dialog schliesst, geben sie <code>modal</code> als <code>windowFeatures</code> Parameter an. Beachten sie, dass der Benutzer das opener window nicht bedienen kann, bis er den Dialog schliesst.</p>
<h3 id="Syntax" name="Syntax">Syntax</h3>
<pre class="eval notranslate"><em>newWindow</em> = openDialog(<em>url</em>, <em>name</em>, <em>features</em>, <em>arg1</em>, <em>arg2</em>, ...)
</pre>
<dl>
<dt>newWindow </dt>
<dd>Das geöffnete Fenster</dd>
<dt>url </dt>
<dd>Die URL, die im neu geöffneten Fenster geladen wird.</dd>
<dt>name </dt>
<dd>Der Name des Fensters (optional). Siehe <a href="/en/DOM/window.open" title="en/DOM/window.open">window.open</a> für detailierte Informationen.</dd>
<dt>features </dt>
<dd>Siehe <a href="/en/DOM/window.open" title="en/DOM/window.open">window.open</a>.</dd>
<dt>arg1, arg2, ... </dt>
<dd>Die Argumente, die dem neuen Fenster gegeben werden (optional).</dd>
</dl>
<h3 id="Example" name="Example">Beispiel</h3>
<pre class="eval notranslate">var win = openDialog("<span class="nowiki">http://example.tld/zzz.xul</span>", "dlg", "", "pizza", 6.98);
</pre>
<h3 id="Notes" name="Notes">Zu beachten</h3>
<h4 id="New_Features" name="New_Features">Neue Features</h4>
<p><code>all</code> - Aktiviert (oder deaktiviert <code>("all=no")</code>) anfangs alles chrome (ausser die behaviour flags <code>chrome</code>, <code>dialog</code> und <code>modal</code>). Diese können überschrieben werden (z.B. <code>"menubar=no,all"</code> schaltet alles chrome ein ausser die Menüleiste.) Dieses Feature wird explizirt ignoriert von <a href="/en/DOM/window.open" title="en/DOM/window.open">window.open</a>. <code>Für window.openDialog</code> ist es nützlich wegen unterschiedlichem Standardverhalten.</p>
<h4 id="Default_behaviour" name="Default_behaviour">Standardverhalten</h4>
<p>Die window Features <code>chrome</code> und <code>dialog</code> sind immer eingeschaltet, ausser sie werden explizit ausgeschaltet ("<code>chrome=no</code>"). <code>openDialog</code> behandelt einen nicht vorhandenen features Parameter gleich wie <a href="/en/DOM/window.open" title="en/DOM/window.open">window.open</a>, (ein leerer String schaltet alle Features aus) ausser <code>chrome</code> und <code>dialog</code>, welche standartmässig eingeschaltet sind. Wenn der <code>features</code> Parameter ein leerer String ist, oder nur behaviour features (<code>chrome</code>, <code>dependent</code>, <code>dialog</code> und <code>modal</code>) enthält, werden die chrome features nach der "OS' choice" ausgewählt. Das heisst, der window creation code erhält keine spezifischen Anweisungen, kann dafür das chrome auswählen, das am besten zu einem Dialog auf diesem operating system passt.</p>
<h4 id="Passing_extra_parameters_to_the_dialog" name="Passing_extra_parameters_to_the_dialog">Zusätzliche Parameter zum Dialog hinzufügen</h4>
<p>Um dem Fenster zusätzliche Parameter hinzuzufügen, können Sie diese einfach nach dem <code>windowFeatures</code> parameter einfügen:</p>
<pre class="eval notranslate">openDialog("<span class="nowiki">http://example.tld/zzz.xul</span>", "dlg", "", "pizza", 6.98);
</pre>
<p>Die zusätzlichen Parameter werden dann in eine Eigenschaft gepackt namens <code>arguments</code> mit dem Typ <a href="/en/Core_JavaScript_1.5_Reference/Global_Objects/Array" title="en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>, und diese Eigenschaft wird dem neu erzeugten Fenster hinzugefügt.</p>
<p>Benützen Sie dieses Schema, um im Code des Dialogs auf diese zusätzlichen Parameter zuzugreifen:</p>
<pre class="eval notranslate">var food = window.arguments[0];
var price = window.arguments[1];
</pre>
<p>Beachten Sie, dass Sie überall im Code des Dialogs auf diese Eigenschaft zugreiffen können. (<a href="/en/Code_snippets/Dialogs_and_Prompts#Passing_arguments_and_displaying_a_dialog" title="en/Code_snippets/Dialogs_and_Prompts#Passing_arguments_and_displaying_a_dialog">Anderes Beispiel</a>).</p>
<h4 id="Returning_values_from_the_dialog" name="Returning_values_from_the_dialog">Werte vom Dialog zurückerhalten</h4>
<p>Weil <code>window.close()</code> alle Eigenschaften des Dialogfensters löscht (d.h. die Variablen vom JavaScript des Dialogs), ist es nicht möglich, mit globalen Variablen (oder anderen Konstrukten) nach dem Schliessen Werte zurückzugeben.</p>
<p>Um Werte zum Aufrufer zurückzugeben, müssen Sie ein Objekt mit den zusätzlichen Parametern übergeben. Sie können im Code des Dialogs auf dieses Objekt zugreiffen und Eigenschaften setzen, welche die Werte enthalten, die Sie zurückgeben wollen oder die Sie auch nach <code>window.close() </code>behalten wollen.</p>
<pre class="eval notranslate">var retVals = { address: null, delivery: null };
openDialog("<span class="nowiki">http://example.tld/zzz.xul</span>", "dlg", "modal", "pizza", 6.98, retVals);
</pre>
<p>Wenn Sie im Dialog die Eigenschaften von <code>retVals</code> im Code des Dialogs setzen wie unten beschrieben, können Sie über <code>retVals</code> auf sie zugreiffen nach dem der Aufruf von <code>openDialog()</code> zurückkommt.</p>
<p>Im JavaScript des Dialogs können Sie wie folgt auf die Eigenschaften zugreiffen:</p>
<pre class="eval notranslate">var retVals = window.arguments[2];
retVals.address = enteredAddress;
retVals.delivery = "immediate";
</pre>
<p>Siehe auch hier. (<a href="/en/Code_snippets/Dialogs_and_Prompts#Passing_arguments_and_displaying_a_dialog" title="en/Code_snippets/Dialogs_and_Prompts#Passing_arguments_and_displaying_a_dialog">anderes Beispiel</a>).<br>
Siehe auch window.importDialog (mobile).</p>
<h3 id="Specification" name="Specification">Spezifikation</h3>
<p>{{ DOM0() }}</p>
|