15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Sicherheit<br />

Da HTML in AIR die normale, seitenbasierte Organisation beibehält, wird die HTML-Umgebung vollständig<br />

aktualisiert, wenn der obere Frame des HTML-Inhalts zu einer anderen Seite „navigiert“. Sie können Frames und<br />

Inlineframes verwenden, um die permanente Datenspeicherung in AIR zu erhalten, so wie für eine Webanwendung,<br />

die in einem Browser ausgeführt wird. Definieren Sie Ihre Hauptanwendungsobjekte im obersten Frame, damit sie<br />

dauerhaft bestehen, solange Sie nicht zulassen, dass der Frame zu einer neuen Seite navigiert. Verwenden Sie<br />

untergeordnete Frames oder Inlineframes, um die Übergangsteile der Anwendung zu laden. (Es gibt verschiedene<br />

andere Möglichkeiten, Daten dauerhaft zu speichern, die zusätzlich zu oder anstelle von Frames verwendet werden<br />

können. Dazu gehören Cookies, lokale freigegebene Objekte, lokaler Dateispeicher, der verschlüsselte Dateispeicher<br />

und lokaler Datenbankspeicher.)<br />

Die Grenze zwischen ausführbarem Code und Daten ist auch bei HTML in AIR verschwommen. Deshalb stellt AIR<br />

Inhalt im obersten Frame der HTML-Umgebung in die Anwendungs-Sandbox. Nach dem load-Seitenereignis<br />

beschränkt AIR alle Operationen, zum Beispiel eval(), die einen Textstring in eine ausführbares Objekt konvertieren<br />

können. Diese Beschränkung wird auch dann erzwungen, wenn eine Anwendung keine Remote-Inhalte lädt. Damit<br />

HTML-Inhalt diese eingeschränkten Operationen ausführen kann, müssen Sie Frames oder Inlineframes verwenden,<br />

um den Inhalt in einer anwendungsfremden Sandbox zu platzieren. (Die Ausführung von Inhalten in einem<br />

untergeordneten Frame in einer Sandbox kann erforderlich sein, wenn bestimmtes JavaScript-Anwendungs-<br />

Framework verwendet wird, das auf der eval()-Funktion basiert.) Eine vollständige Liste der Beschränkungen für<br />

JavaScript in der Anwendungs-Sandbox finden Sie unter „Codebeschränkungen für Inhalt in unterschiedlichen<br />

Sandboxen“ auf Seite 1147.<br />

Da HTML in AIR die Möglichkeit beibehält, remote, potenziell unsichere Inhalte zu laden, erzwingt AIR eine<br />

Richtlinie derselben Herkunft, die verhindert, dass Inhalt in einer Domäne mit Inhalt in einer anderen Domäne<br />

interagiert. Um Interaktionen zwischen Anwendungsinhalten und Inhalten in anderen Domänen zuzulassen, können<br />

Sie eine „Brücke“ als Schnittstelle zwischen einem übergeordneten und einem untergeordnetem Frame einrichten.<br />

Einrichten einer hierarchischen Sandbox-Beziehung<br />

Adobe AIR 1.0 und höher<br />

AIR fügt den frame- und iframe-HTML-Elementen die Attribute sandboxRoot und documentRoot hinzu. Mithilfe<br />

dieser Attribute kann Anwendungsinhalt so behandelt werden, als käme er aus einer anderen Domäne:<br />

Attribut Beschreibung<br />

sandboxRoot Die URL, mit der die Sandbox und die Domäne, in der der Frame-Inhalt platziert<br />

wird, bestimmt wird. Es muss das URL-Schema file:, http: oder https:<br />

verwendet werden.<br />

documentRoot Die URL, von der der Frame-Inhalt geladen wird. Es muss das URL-Schema<br />

file:, app: oder app-storage: verwendet werden.<br />

Im folgenden Beispiel wird Inhalt im Sandbox-Unterverzeichnis der Anwendung für die Ausführung in der Remote-<br />

Sandbox und der Domäne www.example.com domain bestimmt:<br />

<br />

<br />

Letzte Aktualisierung 27.6.2012<br />

1145

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!