ActionScript 3.0-APIs
Externe Skripterstellung und URL-Zugriff (mithilfe von HTTP-URLs, mailto: usw.) werden durch die Verwendung folgender ActionScript 3.0-APIs erreicht:
- Die flash.system.fscommand()-Funktion
- Die ExternalInterface.call()-Methode
- Die flash.net.navigateToURL()-Funktion
Wenn SWF-Dateien lokal ausgeführt werden, sind Aufrufe an APIs nur dann erfolgreich, wenn sich die SWF-Datei und die entsprechenden Webseiten in der Sicherheits-Sandbox „local-trusted“ befinden. Aufrufe an diese Methoden schlagen dann fehl, wenn der Inhalt sich in der Sandbox „local-with-networking“ oder „local-with-filesystem“ befindet.
Der AllowScriptAccess-Parameter im HTML-Code, der eine SWF-Datei lädt, steuert den externen URL-Zugriff aus der SWF-Datei heraus. Stellen Sie diesen Parameter im param- oder embed-Tag ein. Wenn Sie für AllowScriptAccess keinen Wert angeben, können die SWF-Datei und die HTML-Seite nur miteinander kommunizieren, wenn beide aus derselben Domäne stammen.
Der AllowScriptAccess-Parameter kann folgende Werte annehmen: „always“, „sameDomain“ oder „never“:
- Wenn AllowScriptAccess auf „always“ festgelegt ist, kann die SWF-Datei mit der HTML-Seite, in die sie eingebettet ist, kommunizieren. Diese Regel gilt selbst dann, wenn die SWF-Datei aus einer anderen Domäne als die HTML-Seite stammt.
- Wenn AllowScriptAccess auf „sameDomain“ festgelegt ist, kann die SWF-Datei mit der HTML-Seite, in der sie eingebettet ist, nur dann kommunizieren, wenn die SWF-Datei aus derselben Domäne stammt. Dieser Wert ist der Standardwert für AllowScriptAccess. Verwenden Sie diese Einstellungen, um zu verhindern, dass eine SWF-Datei, die auf einer Domäne gehostet wird, auf ein Skript in einer HTML-Seite auf einer anderen Domäne zugreift. Oder stellen Sie keinen Wert für AllowScriptAccess ein.
- Wenn AllowScriptAccess auf „never“ festgelegt ist, kann die SWF nicht mit der HTML-Seite kommunizieren. Dieser Wert ist veraltet und wird nicht empfohlen. Er ist nicht notwendig, wenn Sie nur vertrauenswürdige SWF-Dateien von Ihrer eigenen Domäne bereitstellen. Falls Sie nicht vertrauenswürdige SWF-Dateien bereitstellen müssen, empfiehlt es sich, eine separate Unterdomäne zu erstellen und alle nicht vertrauenswürdigen Inhalte dort abzulegen.
navigateToURL()-Funktion verwenden
Zusätzlich zu dem Parameter allowScriptAccess zum Angeben von Sicherheitseinstellungen (siehe oben) verfügt die Funktion navigateToURL()-Funktion über einen optionalen zweiten Parameter. Mit dem Parameter „target“ können Sie ein HTML-Fenster oder ein Bild angeben, an das die URL-Anforderung gesendet werden soll. Für diese Anforderungen gelten zusätzliche Sicherheitseinschränkungen. Diese variieren in Abhängigkeit davon, ob navigateToURL() als Scripting- oder Non-Scripting-Anweisung verwendet wird.
Für Scripting-Anweisungen, z. B. navigateToURL("javascript: alert('Hello from Flash Player.')"), gelten folgende Regeln.
- Wenn es sich bei der SWF-Datei um eine lokal vertrauenswürdige Datei handelt, ist die Anforderung erfolgreich.
- Wenn als Ziel die HTML-Seite verwendet wird, in die die SWF-Datei eingebettet ist, gelten die oben erläuterten allowScriptAccess-Regeln.
- Wenn das Ziel Inhalte enthält, die aus der gleichen Domäne wie die SWF-Datei geladen wurden, ist die Anforderung erfolgreich.
- Wenn das Ziel Inhalte enthält, die aus einer anderen Domäne als die SWF-Datei geladen wurden, und die beiden vorherigen Bedingungen nicht erfüllt sind, schlägt die Anforderung fehl.
Bei Non-Scripting-Anweisungen (z. B. HTTP, HTTPS mailto: usw.) schlägt die Anforderung fehl, wenn die folgenden Bedingungen zutreffen:
- Das Ziel entspricht einem der speziellen Schlüsselwörter „_top“ oder „_parent“ und
- die SWF-Datei ist Bestandteil einer Webseite in einer anderen Domäne und
- die SWF-Datei wurde mit einem Wert für allowScriptAccess eingebettet, der nicht „always“ lautet.
Schlüsselwörter: AllowScriptAccess, Flash Player, Flash, Flex, fscommand, ExternalInterface, navigateToURL, Sandbox; tn_16494
Bei Ihrem Konto anmelden