JavaScript in AIR

Flash Player 9 und höher, Adobe AIR 1.0 und höher

AIR verändert das typische Verhalten gängiger JavaScript-Objekte. Viele dieser Änderungen wurden vorgenommen, um die Erstellung sicherer Anwendungen in AIR zu erleichtern. Diese Veränderungen bedeuten jedoch auch, dass einige gängige JavaScript-Kodierungsmuster und vorhandene Internetanwendungen, die diese Muster einsetzen, nicht immer wie erwartet in AIR ausgeführt werden. Informationen zur Behebung solcher Probleme finden Sie unter Vermeiden von sicherheitsbezogenen JavaScript-Fehlern .

HTML-Sandboxen

AIR platziert Inhalte je nach Herkunft in separaten Sandboxen. Die Sandbox-Regeln entsprechen sowohl den Herkunftskriterien der meisten Webbrowser als auch den Sandbox-Regeln von Adobe Flash Player. Zusätzlich stellt AIR einen neuen Anwendungs -Sandboxtyp zur Verfügung, der die Anwendungsinhalte enthält und schützt. Weitere Informationen zu den Sandboxtypen, die Ihnen bei der Entwicklung von AIR-Anwendungen begegnen können, finden Sie unter Sicherheits-Sandboxen .

Auf die Laufzeitumgebung und die AIR-APIs kann nur von HTML und JavaScript zugegriffen werden, das innerhalb der Anwendungs-Sandbox ausgeführt wird. Gleichzeitig wird die dynamische Auswertung und Ausführung von JavaScript in seinen verschiedenen Ausformungen aus Sicherheitsgründen in weiten Teilen auf die Anwendungs-Sandboxen beschränkt. Diese Einschränkungen gelten unabhängig davon, ob Ihre Anwendung Informationen tatsächlich direkt von einem Server lädt. (Selbst Dateiinhalte, analysierte Strings und direkte Benutzereingaben sind nicht immer vertrauenswürdig.)

In welcher Sandbox eine Seite abgelegt wird, wird von dem Ursprung ihrer Inhalte bestimmt. Lediglich Inhalte, die aus dem Anwendungsverzeichnis (dem Installationsverzeichnis, auf das das URL-Schema app: verweist) geladen werden, werden in der Anwendungs-Sandbox platziert. Inhalte, die aus dem Dateisystem geladen werden, werden in der local-with-filesystem-Sandbox oder der local-trusted-Sandbox abgelegt, die den Zugriff auf und die Interaktion mit Inhalten des lokalen Dateisystems, jedoch nicht mit Remote-Inhalten zulassen. Vom Netzwerk geladene Inhalte werden in einer Remote-Sandbox platziert, die der Ursprungsdomäne der Inhalte entspricht.

Soll eine Anwendungsseite ungehindert mit Inhalten in einer Remote-Sandbox interagieren, kann die Seite derselben Domäne wie die Remote-Inhalte zugeordnet werden. Wenn Sie zum Beispiel eine Anwendung erstellen, die Kartendaten von einem Internet-Dienst anzeigt, können Sie die Seite der Anwendung, welche die Inhalte des Dienstes lädt und anzeigt, der Domäne dieses Dienstes zuordnen. Die Attribute für die Zuordnung von Seiten zu Remote-Sandboxen und -Domänen sind neue Attribute, die zu den frame- und iframe-HTML-Elementen hinzugefügt wurden.

Um sicherzustellen, dass Inhalte in einer anwendungsfremden Sandbox risikolos die AIR-Funktionen verwenden können, können Sie eine übergeordnete Sandbox-Brücke einrichten. Untergeordnete Sandbox-Brücken können eingerichtet werden, um zu gewährleisten, dass Anwendungsinhalte sicher Methoden aufrufen und auf Eigenschaften zugreifen können, die zu Inhalten anderer Sandboxen gehören. Sicherheit bedeutet hier, dass die Remote-Inhalte nicht versehentlich Verweise auf Objekte, Eigenschaften oder Methoden erhalten können, die nicht explizit bereitgestellt wurden. Es können nur einfache Datentypen, Funktionen und anonyme Objekte über diese Brücke übergeben werden. Sie müssen jedoch weiterhin dafür Sorge tragen, dass möglicherweise gefährliche Funktionen nicht explizit bereitgestellt werden. Sollten Sie zum Beispiel eine Schnittstelle bereitstellen, die es Remote-Inhalten ermöglichte, Dateien auf dem gesamten System eines Benutzers zu lesen und zu speichern, geben Sie den Remote-Inhalten damit die Chance, Ihren Benutzern erheblichen Schaden zuzufügen.

JavaScript-Funktion eval()

Sobald der Ladevorgang für eine Seite abgeschlossen ist, bleibt die Verwendung der Funktion eval() auf die Anwendungs-Sandbox beschränkt. Einige Verwendungsmöglichkeiten sind gestattet, damit JSON-formatierte Daten sicher analysiert werden können; Auswertungen, die zu ausführbaren Anweisungen führen, verursachen jedoch eine Fehlermeldung. Unter Codebeschränkungen für Inhalt in unterschiedlichen Sandboxen wird beschrieben, welche Verwendungsmöglichkeiten für die Funktion eval() gestattet sind.

Function-Konstruktor

Function-Konstruktoren können in den Anwendungs-Sandboxen verwendet werden, bevor der Ladevorgang der Seite abgeschlossen ist. Wenn alle load -Ereignisprozeduren abgeschlossen sind, können keine neuen Funktionen erstellt werden.

Laden externer Skripte

HTML-Seiten in der Anwendungs-Sandbox können den script -Tag nicht für das Laden von JavaScript-Dateien verwenden, die sich außerhalb des Anwendungsverzeichnisses befinden. Soll eine Seite in Ihrer Anwendung ein Skript laden, das sich nicht im Anwendungsverzeichnis befindet, muss die Seite einer anwendungsfremden Sandbox zugeordnet werden.

Das XMLHttpRequest-Objekt

AIR stellt ein XMLHttpRequest-Objekt (XHR-Objekt) zur Verfügung, mit dem Anwendungen Daten anfordern können. Das folgende Beispiel zeigt eine einfache Datenanforderung:

xmlhttp = new XMLHttpRequest(); 
xmlhttp.open("GET", "http:/www.example.com/file.data", true); 
xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4) { 
        //do something with data... 
    } 
} 
xmlhttp.send(null); 

Im Gegensatz zu Browsern lässt AIR Inhalte, die in der Anwendungs-Sandbox ausgeführt werden, Daten von beliebigen Domänen anfordern. Das Ergebnis eines XHR, das einen JSON-String enthält, kann in Datenobjekte ausgewertet werden, sofern das Ergebnis keinen ausführbaren Code umfasst. Befinden sich im XHR-Ergebnis ausführbare Anweisungen, wird ein Fehler ausgegeben und der Auswertungsversuch schlägt fehl.

Um zu verhindern, das versehentlich Code aus Remote-Quellen eingefügt wird, geben synchrone XHRs ein leeres Ergebnis zurück, wenn die Anforderungen durchgeführt wurden, bevor der Ladevorgang der Seite abgeschlossen wurde. Asynchrone XHRs geben das Ergebnis immer nach dem Laden der Seite zurück.

Domänenübergreifende XMLHttpRequests in anwendungsfremden Sandboxen werden von AIR standardmäßig blockiert. Übergeordnete Fenster in der Anwendungs-Sandbox können wählen, ob domänenübergreifende Anforderungen in einem untergeordnetem Frame, der Inhalte in einer anwendungsfremden Sandbox enthält, zugelassen werden. Hierfür wird allowCrossDomainXHR , ein von AIR hinzugefügtes Attribut im Container-frame oder -iframe-Element auf true gesetzt:

<iframe id="mashup" 
    src="http://www.example.com/map.html" 
    allowCrossDomainXHR="true" 
</iframe>
Hinweis: Bei Bedarf kann die URLStream-Klasse von AIR auch für das Herunterladen von Daten eingesetzt werden.

Wenn Sie von einem Frame oder iFrame, der einer Remote-Sandbox zugeordnete Anwendungsinhalte umfasst, eine XMLHttpRequest-Anforderung an einen Remote-Server auslösen, müssen Sie sicherstellen, dass die Zuordnungs-URL nicht die in der XHR verwendete Serveradresse maskiert. Das folgende Beispiel zeigt eine iframe-Definition, mit der Anwendungsinhalte einer Remote-Sandbox für die Domäne „example.com“ zugeordnet werden:

<iframe id="mashup" 
    src="http://www.example.com/map.html" 
    documentRoot="app:/sandbox/" 
    sandboxRoot="http://www.example.com/" 
    allowCrossDomainXHR="true" 
</iframe>

Da das Attribut sandboxRoot die Stamm-URL der Adresse www.example.com neu zuordnet, werden alle Anforderungen aus dem Anwendungsverzeichnis und nicht vom Remote-Server geladen. Anforderungen werden unabhängig davon, ob sie aus einer Seitennavigation oder einer XMLHttpRequest-Anforderung hervorgehen, neu zugeordnet.

Um zu vermeiden, dass Datenanforderungen an den Remote-Server versehentlich blockiert werden, ordnen Sie sandboxRoot nicht der Stamm-URL sondern einem Unterverzeichnis der Remote-URL zu. Dieses Verzeichnis muss nicht tatsächlich vorhanden sein. Um Anforderungen an „www.example.com“ für das Laden vom Remote-Server anstelle des Anwendungsverzeichnisses zu gestatten, ändern Sie den iFrame wie folgt:

<iframe id="mashup" 
    src="http://www.example.com/map.html" 
    documentRoot="app:/sandbox/" 
    sandboxRoot="http://www.example.com/air/" 
    allowCrossDomainXHR="true" 
</iframe>

In diesem Fall werden lediglich Inhalte im Unterverzeichnis air lokal geladen.

Weitere Informationen zur Sandboxen-Zuordnung finden Sie unter HTML-Frame- und iFrame-Elemente und HTML-Sicherheit in Adobe AIR .

Cookies

In AIR-Anwendungen können nur Inhalte in Remote-Sandboxen (aus http:- und https:-Quellen geladene Inhalte) Cookies verwenden (die Eigenschaft document.cookie ). In der Anwendungs-Sandbox stehen andere Mittel zum Speichern bleibender Daten zur Verfügung, darunter die EncryptedLocalStore-, SharedObject- und FileStream-Klassen.

Das Clipboard-Objekt

Die Clipboard-API von Webkit wird durch die folgenden Ereignisse gesteuert: copy , cut und paste . Das in diesen Ereignissen übergebene event-Objekt bietet mithilfe der Eigenschaft clipboardData Zugriff auf die Zwischenablage. Verwenden Sie die folgenden Methoden des Objekts clipboardData , um Daten aus der Zwischenablage zu lesen oder in diese zu schreiben:

Methode

Beschreibung

clearData(mimeType)

Löscht die Daten in der Zwischenablage. Setzen Sie den Parameter für mimeType auf den MIME-Typ der zu löschenden Daten.

getData(mimeType)

Ruft die Daten aus der Zwischenablage auf. Diese Methode kann nur in einer Prozedur für das Ereignis paste aufgerufen werden. Setzen Sie den Parameter für mimeType auf den MIME-Typ der zurückzugebenden Daten.

setData(mimeType, Daten)

Kopiert Daten in die Zwischenablage. Setzen Sie den Parameter für mimeType auf den MIME-Typ der Daten.

JavaScript-Code außerhalb der Anwendungs-Sandbox kann nur durch diese Ereignisse auf die Zwischenablage zugreifen. Die Inhalte in der Anwendungs-Sandbox können jedoch mithilfe der Clipboard-Klasse von AIR direkt auf die Zwischenablage des Systems zugreifen. Verwenden Sie zum Beispiel die folgende Anweisung, um Textformatdaten in die Zwischenablage zu kopieren:

var clipping = air.Clipboard.generalClipboard.getData("text/plain", 
                                air.ClipboardTransferMode.ORIGINAL_ONLY);

Folgende MIME-Typen sind für die Daten gültig:

MIME-Typ

Wert

Text

"text/plain"

HTML

"text/html"

URL

"text/uri-list"

Bitmap

"image/x-vnd.adobe.air.bitmap"

File list

"application/x-vnd.adobe.air.file-list"

Wichtig: Nur die Inhalte in der Anwendungs-Sandbox können auf Dateidaten in der Zwischenablage zugreifen. Unternehmen anwendungsfremde Inhalte den Versuch, auf ein Dateiobjekt in der Zwischenablage zuzugreifen, wird ein Sicherheitsfehler ausgelöst.

Weitere Informationen zur Verwendung der Zwischenablage finden Sie unter Kopieren und Einfügen und Using the Pasteboard from JavaScript (Apple Developer Center) .

Drag & Drop (Ziehen und Ablegen)

Durch Drag & Drop in und aus HTML werden folgende DOM-Ereignisse verursacht: dragstart , drag , dragend , dragenter , dragover , dragleave und drop . Das in diesen Ereignissen übergebene event-Objekt bietet mithilfe der Eigenschaft dataTransfer Zugriff auf die gezogenen Daten. Die Eigenschaft dataTransfer verweist auf ein Objekt, das dieselben Methoden bereitstellt wie das mit einem Clipboard-Ereignis verknüpfte Objekt clipboardData . Sie können zum Beispiel folgende Funktion verwenden, um Textformatdaten aus einem drop -Ereignis zu erhalten.

function onDrop(dragEvent){ 
    return dragEvent.dataTransfer.getData("text/plain",  
            air.ClipboardTransferMode.ORIGINAL_ONLY); 
}

Das Objekt dataTransfer verfügt über folgende wichtige Mitglieder:

Mitglied

Beschreibung

clearData(mimeType)

Löscht die Daten. Setzen Sie den Parameter für mimeType auf den MIME-Typ der zu löschenden Datendarstellung.

getData(mimeType)

Ruft die gezogenen Daten auf. Diese Methode kann nur in einer Prozedur für das Ereignis drop aufgerufen werden. Setzen Sie den Parameter für mimeType auf den MIME-Typ der abzurufenden Daten.

setData(mimeType, Daten)

Geben Sie die zu ziehenden Daten an: Setzen Sie den Parameter für mimeType auf den MIME-Typ der Daten.

types

Ein Array von Strings, welches die MIME-Typen aller Datendarstellungen enthält, die im Objekt dataTransfer gegenwärtig zur Verfügung stehen.

effectsAllowed

Gibt an, ob die zu ziehenden Daten kopiert, verschoben oder verknüpft werden sollen oder eine Kombination dieser Vorgänge ausgeführt werden soll. Setzen Sie die Eigenschaft effectsAllowed in der Prozedur für das Ereignis dragstart .

dropEffect

Gibt an, welche der möglichen Effekte beim Ablegen von dem Ziel, auf das gezogen wird, unterstützt werden. Setzen Sie die Eigenschaft dropEffect in der Prozedur für das Ereignis dragEnter . Während der Ziehbewegung verwandelt sich der Cursor und zeigt so an, welchen Effekt ein Loslassen der Maustaste hat. Wurde kein dropEffect angegeben, wird ein Effekt der Eigenschaft effectsAllowed gewählt. Der Effekt „Kopieren“ hat Priorität vor dem Effekt „Verschieben“, der wiederum Priorität vor dem Effekt „Verknüpfen“ hat: Der Benutzer kann die Standardpriorität über die Tastatur ändern.

Weitere Information zur Unterstützung für das Drag & Drop in AIR-Anwendungen finden Sie unter Ziehen und Ablegen in AIR und Using the Drag-and-Drop from JavaScript (Apple Developer Center) .

Die innerHTML- und outerHTML-Eigenschaften

AIR platziert Sicherheitseinschränkungen für die Verwendung der Eigenschaften innerHTML und outerHTML für Inhalte, die in der Anwendung ausgeführt werden. Vor dem Seitenladeereignis und während der Ausführung von Ladeereignisprozeduren können die Eigenschaften innerHTML und outerHTML uneingeschränkt verwendet werden. Sobald das Laden der Seite abgeschlossen ist, können die Eigenschaften innerHTML oder outerHTML jedoch nur noch verwendet werden, um statische Inhalte zum Dokument hinzuzufügen. Anweisungen in dem innerHTML oder outerHTML zugewiesenem String, die einen ausführbaren Code ergeben, werden ignoriert. Wenn Sie beispielsweise ein Attribut für den Ereignisrückruf in eine Elementdefinition aufnehmen, wird der Ereignis-Listener nicht hinzugefügt. Eingebettete <script> -Tags werden ebenfalls nicht ausgewertet. Weitere Informationen finden Sie unter HTML-Sicherheit in Adobe AIR .

Die Document.write()- und Document.writeln()-Methoden

Die Verwendung der Methoden write() und writeln() ist in der Anwendungs-Sandbox vor dem Ereignis load der Seite nicht beschränkt. Nachdem die Seite geladen wurde, wird durch den Aufruf dieser Methoden die Seite jedoch weder gelöscht noch wird eine neue Seite erstellt. In einer anwendungsfremden Sandbox wird durch den Aufruf von document.write() oder writeln() nach dem Laden einer Seite die aktuelle Seite wie in anderen Webbrowsern auch gelöscht und es wird eine neue, leere Seite geöffnet.

Die Eigenschaft Document.designMode

Setzen Sie die Eigenschaft document.designMode auf den Wert on , um alle Elemente im Dokument editierbar zu machen. Die integrierte Editorunterstützung umfasst die Bearbeitung, das Kopieren und Einfügen und Drag & Drop von Text. Die Einstellung von designMode auf on hat die gleichen Auswirkungen wie die Einstellung des Elements body der Eigenschaft contentEditable auf true . Sie können die Eigenschaft contentEditable auf die meisten HTML-Elemente anwenden, um festzulegen, welche Abschnitte eines Dokuments editierbar sein sollen. Weitere Informationen finden Sie unter HTML-Attribut contentEditable .

unload-Ereignisse (für body- und frameset-Objekte)

Verwenden Sie das Ereignis unload nicht im obersten frameset - oder body -Tag eines Fensters (einschließlich des Hauptfensters der Anwendung), um auf das Schließen des Fensters (oder der Anwendung) zu reagieren. Verwenden Sie stattdessen das exiting -Ereignis des NativeApplication-Objekts, um festzustellen, wann eine Anwendung geschlossen wird, oder das closing -Ereignis des NativeWindow-Objekts, um festzustellen, wann ein Fenster geschlossen wird. Mit dem folgenden JavaScript-Code wird zum Beispiel eine Meldung ( "Goodbye." ) eingeblendet, wenn der Benutzer die Anwendung schließt:

var app = air.NativeApplication.nativeApplication; 
app.addEventListener(air.Event.EXITING, closeHandler); 
function closeHandler(event) 
{ 
    alert("Goodbye."); 
}

Skripts können jedoch erfolgreich auf ein unload -Ereignis reagieren, das durch die Navigation von Frame-, iFrame- oder Fensterinhalten der obersten Ebene ausgelöst wird.

Hinweis: Diese Einschränkungen werden möglicherweise in zukünftigen Versionen von Adobe AIR aufgehoben.

JavaScript-Window-Objekt

Das Window-Objekt bleibt das globale Objekt im JavaScript-Ausführungskontext. In der Anwendungs-Sandbox fügt AIR neue Eigenschaften zum JavaScript-Window-Objekt hinzu, um Zugriff auf die integrierten Klassen von AIR sowie wichtige Host-Objekte zu gewähren. Einige Methoden und Eigenschaften verhalten sich außerdem unterschiedlich, je nachdem ob sie sich in der Anwendungs-Sandbox befinden oder nicht.

Window.runtime-Eigenschaft
Die Eigenschaft runtime gibt Ihnen die Möglichkeit, die integrierten runtime-Klassen aus der Anwendungs-Sandbox heraus zu instanziieren und zu verwenden. Zu diesen Klassen gehören die AIR- und Flash Player-APIs (jedoch zum Beispiel nicht das Flex-Framework). Mit der folgenden Anweisung wird beispielsweise ein AIR-File-Objekt erstellt:
var preferencesFile = new window.runtime.flash.filesystem.File();

Die Datei AIRAliases.js , die mit der AIR-SDK bereitgestellt wird, enthält alle Aliasdefinitionen, mit denen Sie solche Verweise kürzen können. Wird die Datei AIRAliases.js zum Beispiel in eine Seite importiert, kann das File-Objekt mit der folgenden Anweisung erstellt werden.

var preferencesFile = new air.File();

Die Eigenschaft window.runtime wird nur für Inhalte in der Anwendungs-Sandbox definiert und dies nur für das übergeordnete Dokument einer Seite mit Frames oder iFrames.

Weitere Informationen finden Sie unter Verwenden der AIRAliases.js-Datei .

Window.nativeWindow-Eigenschaft
Die Eigenschaft nativeWindow stellt einen Verweis auf das darunterliegende native Window-Objekt zur Verfügung. Mit dieser Eigenschaft können Sie Window-Funktionen und -Eigenschaften wie die Fensterposition, das Fensterformat und die Sichtbarkeit skripten und Window-Ereignisse wie Schließen, Größenveränderungen und Verschieben verarbeiten. Mit der folgenden Anweisung wird das Fenster zum Beispiel geschlossen:
window.nativeWindow.close();
Hinweis: Die vom NativeWindow-Objekt bereitgestellten Funktionen zur Fenstersteuerung überschneiden sich mit den Funktionen des Window-Objekts von JavaScript. In solchen Fällen können Sie die Methode verwenden, die Ihnen am besten liegt.

Die Eigenschaft window.nativeWindow wird nur für Inhalte in der Anwendungs-Sandbox definiert und dies nur für das übergeordnete Dokument einer Seite mit Frames oder iFrames.

Window.htmlLoader-Eigenschaft
Die Eigenschaft htmlLoader bietet einen Verweis auf das HTMLLoader-Objekt von AIR, das die HTML-Inhalte enthält. Mit dieser Eigenschaft können Sie das Aussehen und das Verhalten der HTML-Umgebung skripten. So können Sie die Eigenschaft htmlLoader.paintsDefaultBackground zum Beispiel verwenden, um festzulegen, ob durch die Steuerung ein standardmäßiger weißer Hintergrund erstellt wird:
window.htmlLoader.paintsDefaultBackground = false;
Hinweis: Das HTMLLoader-Objekt selbst verfügt über eine window -Eigenschaft, die auf das Window-Objekt von JavaScript der in ihm enthaltenen HTML-Inhalte verweist. Mit dieser Eigenschaft können Sie über einen Verweis auf das Container-HTMLLoader-Objekt auf die JavaScript-Umgebung zugreifen.

Die Eigenschaft window.htmlLoader wird nur für Inhalte in der Anwendungs-Sandbox definiert und dies nur für das übergeordnete Dokument einer Seite mit Frames oder iFrames.

Window.parentSandboxBridge- und Window.childSandboxBridge-Eigenschaften
Mit den Eigenschaften parentSandboxBridge und childSandboxBridge können Sie eine Schnittstelle zwischen einem übergeordneten und einem untergeordneten Frame erstellen. Weitere Informationen finden Sie unter Cross-Scripting von Inhalten in unterschiedlichen Sicherheits-Sandboxen .

Window.setTimeout()- und Window.setInterval()-Funktionen
AIR gibt Sicherheitseinschränkungen für die Verwendung der Funktionen von setTimeout() und setInterval() in der Anwendungs-Sandbox vor. Wenn Sie setTimeout() oder setInterval() aufrufen, können Sie den auszuführenden Code nicht als String definieren. Stattdessen müssen Sie eine Funktionsreferenz verwenden. Weitere Informationen finden Sie unter setTimeout() und setInterval() .

Window.open()-Funktion
Wenn die Methode open() von einem Code, der in einer anwendungsfremden Sandbox ausgeführt wird, aufgerufen wird, öffnet die Methode nur ein Fenster, wenn dieser Aufruf durch eine Benutzeraktion (wie einen Mausklick oder eine Tastatureingabe ausgelöst wurde. Außerdem wird vor dem Fenstertitel der Anwendungstitel angezeigt (um zu verhindern, dass Fenster, die durch Remote-Inhalte geöffnet werden, von der Anwendung geöffnete Fenster imitieren). Weitere Informationen finden Sie unter Beschränkungen beim Aufrufen der JavaScript-window.open()-Methode .

air.NativeApplication-Objekt

Das Objekt NativeApplication hält Informationen zum Anwendungsstatus bereit, löst verschiedene wichtige Ereignisse auf Anwendungsebene aus und bietet nützliche Funktionen für die Steuerung des Anwendungsverhaltens. Eine einzelne Instanz des Objekts NativeApplication wird automatisch erstellt. Über die klassendefinierte Eigenschaft NativeApplication.nativeApplication kann darauf zugegriffen werden.

Mit dem folgenden JavaScript-Code können Sie zum Beispiel auf das Objekt zugreifen:

var app = window.runtime.flash.desktop.NativeApplication.nativeApplication;

Wurde das Skript AIRAliases.js importiert, können Sie die kürzere Form verwenden:

var app = air.NativeApplication.nativeApplication;

Auf das NativeApplication-Objekt kann nur innerhalb der Anwendungs-Sandbox zugegriffen werden. Weitere Informationen zum NativeApplication-Objekt finden Sie unter Arbeiten mit AIR-Laufzeit- und Betriebssysteminformationen .

Das JavaScript-URL-Schema

Die Ausführung von in einem JavaScript- URL-Schema definierten Code (z. B. href="javascript:alert('Test')" ) wird innerhalb der Anwendungs-Sandbox blockiert. Es wird kein Fehler ausgegeben.