Hinweis: Die SystemUpdater-API wird auf Desktopplattformen unterstützt.
Diese Klasse enthält statische Konstanten, die mit der
Verwenden Sie die Werte, die von der TouchscreenType-Klasse definiert werden, mit der
Anwendungsdomänen werden beim Laden einer externen SWF-Datei über die Loader-Klasse verwendet. Alle ActionScript 3.0-Definitionen in der geladenen SWF-Datei sind in der Anwendungsdomäne gespeichert, die durch die
Der gesamte Code in einer SWF-Datei ist so definiert, dass er sich in einer Anwendungsdomäne befindet. Die aktuelle Anwendungsdomäne ist die Domäne, in der die Hauptanwendung ausgeführt wird. Die Systemdomäne enthält alle Anwendungsdomänen, einschließlich der aktuellen Domäne, d. h. alle Klassen von Flash Player.
Mit Ausnahme der Systemdomäne ist jede Anwendungsdomäne mit einer übergeordneten Domäne verknüpft. Die Systemdomäne ist die übergeordnete Domäne der Anwendungsdomäne der Hauptanwendung. Geladene Klassen werden nur definiert, wenn sie in der jeweiligen Superklasse nicht bereits definiert sind. Die Definition einer geladenen Klasse kann nicht mit einer neueren Definition überschrieben werden.
Verwendungsbeispiele für Anwendungsdomänen finden Sie im ActionScript 3.0 Entwicklerhandbuch.
Über die
Hinweise:
Erstellen Sie zunächst die Datei „RuntimeClasses.swf“ mithilfe des folgenden Codes:
Implementieren Sie dann den folgenden Code:
Hinweise:
Erstellen Sie im Ordner „en“ eine Datei mit dem Namen „Greeter.as“ mit dem folgenden Code:
Erstellen Sie dann eine sehr ähnliche „Greeter.as“-Datei im Ordner „es“:
Kompilieren Sie SWF-Dateien für beide und implementieren Sie dann den folgenden Code:
In Flash Professional kann nur durch Angabe von „~~“ der Zugriff auf nicht lokale SWF-Dateien über lokale SWF-Dateien ermöglicht werden, die unter Verwendung von „Nur auf Netzwerk zugreifen“ für die Option „Sicherheit bei lokaler Wiedergabe“ im Flash-Authoringtool veröffentlicht wurden.
Hinweis: Der Platzhalterwert funktioniert nicht für Subdomänen. Sie können zum Beispiel nicht
Hinweis: Der Aufruf dieser Methode vom Code in der Sandbox der AIR-Anwendung verursacht eine SecurityError-Ausnahme. Inhalt außerhalb der Sicherheitsdomäne der Anwendung kann kein direktes Cross-Scripting für Inhalte in der Anwendungssandbox ausführen. Allerdings kann Inhalt außerhalb der Anwendungssandbox über eine Sandbox-Brücke mit Inhalt in der Sicherheitssandbox der Anwendung kommunizieren.
Wenn zwei SWF-Dateien von derselben Domäne aus bereitgestellt werden, z. B. von http://mysite.com/swfA.swf und http://mysite.com/swfB.swf, kann swfA.swf Variablen, Objekte, Eigenschaften, Methoden usw. in swfB.swf untersuchen und ändern, und swfB.swf kann dasselbe bei swfA.swf tun. Dies wird als Skripterstellung über mehrere Filme oder Cross-Scripting bezeichnet.
Wenn zwei SWF-Dateien über verschiedene Domänen bereitgestellt werden, beispielsweise http://siteA.com/swfA.swf und http://siteB.com/siteB.swf, kann swfA.swf in Flash Player keine Skripterstellung von swfB.swf durchführen und umgekehrt. Eine SWF-Datei erteilt SWF-Dateien von anderen Domänen Berechtigungen durch Aufrufen von
In domänenübergreifenden Situationen ist es wichtig, die betreffenden beiden Seiten klar zu trennen. Im Folgenden wird die Seite, die das Cross-Scripting durchführt, als zugreifende Seite (in der Regel die zugreifende SWF-Datei) und die andere Seite als Seite, auf die zugegriffen wird (in der Regel die SWF-Datei, auf die zugegriffen wird), bezeichnet. Wenn siteA.swf die Skripterstellung von siteB.swf durchführt, handelt es sich bei siteA.swf um die zugreifende Seite und bei siteB.swf um die Seite, auf die zugegriffen wird.
Mit
Flash Player schützt SWF-Dateien nicht nur vor Cross-Domain-Scripting durch andere SWF-Dateien, sondern auch vor Cross-Domain-Scripting durch HTML-Dateien. HTML-für-SWF-Skripterstellung kann bei älteren Browserfunktionen wie z. B.
Die Angabe einer IP-Adresse als Argument für
Versionsspezifische Unterschiede
Die domänenübergreifenden Sicherheitsregeln von Flash Player wurden von Version zu Version weiterentwickelt. Die Unterschiede sind in der folgenden Tabelle zusammengefasst.
Die Versionen, die das Verhalten von Flash Player steuern, sind SWF-Versionen (Veröffentlichungsversionen einer SWF), nicht die Version von Flash Player selbst. Beispiel: Wenn Flash Player 8 eine SWF wiedergibt, die für Version 7 veröffentlicht wurde, wendet Flash Player das Verhalten von Version 7 an. Hierdurch wird sichergestellt, dass Upgrades des Players keinen Einfluss auf das Verhalten von
Die Spalte „Version“ in der vorherigen Tabelle gibt jeweils die neueste SWF-Version an, die an einem Cross-Scripting-Vorgang beteiligt ist. Flash Player bestimmt das Verhalten entweder aufgrund der Version der zugreifenden SWF-Datei oder der Version der SWF-Datei, auf die zugegriffen wird, je nachdem, welche der beiden Versionen neuer ist.
Die folgenden Absätze enthalten weitere Informationen zu den Sicherheitsänderungen in Flash Player mit Bezug auf
Version 5. Beim Cross-Domain-Scripting liegen keine Beschränkungen vor.
Version 6. Einführung der Cross-Domain-Scripting-Sicherheit. Standardmäßig verbietet Flash Player das Cross-Domain-Scripting. Mit
Version 7. Superdomänen-Übereinstimmung wird durch exakte Domänenübereinstimmung ersetzt. Zwei Dateien haben aufeinander nur dann Skriptzugriff, wenn die Hostnamen in ihren URLs identisch sind. Andernfalls ist ein Aufruf von
Version 8. Änderungen in zwei wichtigen Bereichen:
Von Zeit zu Zeit stellt sich Ihnen folgende Situation: Sie laden eine untergeordnete SWF-Datei aus einer anderen Domäne und möchten dieser das Scripting für die übergeordnete SWF-Datei ermöglichen, Ihnen ist jedoch die endgültige Domäne der untergeordneten SWF-Datei nicht bekannt. Dies ist beispielsweise der Fall, wenn Sie Weiterleitungen mit Lastausgleich oder Server von Dritten verwenden.
Sie können dann die
Warten Sie, bis der Ladevorgang der untergeordneten SWF-Datei gestartet wird, um den korrekten Wert der
Es kann auch die entgegengesetzte Situation auftreten: Angenommen, Sie haben eine untergeordnete SWF-Datei erstellt, die das Scripting durch die übergeordnete SWF-Datei ermöglichen soll, der jedoch die Domäne der übergeordneten SWF-Datei nicht bekannt ist. In diesem Fall können Sie auf die
Wenn Sie eine Datei für Flash Player 8 oder eine spätere Version veröffentlichen, können Sie in diesen Fällen auch
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Nur durch Angabe von „~~“ kann der Zugriff auf nicht lokale SWF-Dateien über lokale SWF-Dateien ermöglicht werden, die unter Verwendung der Option „Nur auf Netzwerk zugreifen“ für die Einstellung „Sicherheit bei lokaler Wiedergabe“ („Datei“ > „Einstellungen für Veröffentlichungen“ > Registerkarte „Flash“) im Flash-Authoringtool veröffentlicht wurden.
Hinweis: Der Platzhalterwert funktioniert nicht für Subdomänen. Sie können zum Beispiel nicht
Flash Player stellt
Hinweis: Der Aufruf dieser Methode vom Code in der Sandbox der AIR-Anwendung verursacht eine SecurityError-Ausnahme. Inhalt außerhalb der Sicherheitsdomäne der Anwendung kann kein direktes Cross-Scripting für Inhalte in der Anwendungssandbox ausführen. Allerdings kann Inhalt außerhalb der Anwendungssandbox über eine Sandbox-Brücke mit Inhalt in der Sicherheitssandbox der Anwendung kommunizieren.
Diese Methode funktioniert genauso wie
Verwenden Sie die
Beachten Sie, dass das folgende Beispiel nur ein mögliches Szenario darstellt. Es soll lediglich die Problematik von
Angenommen, Sie möchten eine E-Commerce-Site erstellen, die aus zwei Komponenten besteht: einem Katalog, der nicht sicher zu sein braucht, da er nur öffentliche Informationen enthält, und einer Einkaufswagen-/Bezahlkomponente, die sicher sein muss, um finanzspezifische und persönliche Daten der Benutzer zu schützen. Der Katalog soll von http://mysite.com/catalog.swf aus bereitgestellt werden, der Einkaufswagen von https://mysite.com/cart.swf. Eine Anforderung an die Site besteht darin, dass kein Dritter die Kreditkartennummern Ihrer Benutzer ausspionieren kann, indem er eine Schwachstelle in der Sicherheitsarchitektur nutzt.
Stellen Sie sich vor, dass sich ein Angreifer zwischen Ihren Server und Ihre Benutzer platziert, um zu versuchen, die Kreditkartennummern abzufangen, die die Benutzer in der Einkaufswagen-Anwendung eingeben. Ein solcher Angreifer kann beispielsweise ein skrupelloser Internet-Dienstanbieter (ISP) sein, der von einem Ihrer Benutzer verwendet wird, oder ein böswilliger Administrator am Arbeitsplatz des Benutzers – im Grunde jeder, der die Fähigkeit besitzt, Netzwerkpakete einzusehen oder zu ändern, die über das öffentliche Internet zwischen Ihren Benutzern und Ihren Servern übertragen werden. Diese Situation ist nicht ungewöhnlich.
Wenn cart.swf die Kreditkartendaten mittels HTTPS an Ihre Server überträgt, kann der Angreifer diese Informationen nicht direkt aus den Netzwerkpaketen stehlen, da es sich um eine verschlüsselte Übertragung handelt. Er kann jedoch eine andere Technik anwenden: den Inhalt einer Ihrer SWF-Dateien ändern, während diese dem Benutzer bereitgestellt wird, d. h. die SWF-Datei durch eine andere Version ersetzen, die die Benutzerdaten an einen anderen vom Angreifer betriebenen Server überträgt.
Das HTTPS-Protokoll verhindert u. a., dass eine solche Änderung durchgeführt wird, da HTTPS-Übertragungen nicht nur verschlüsselt, sondern auch manipulationssicher sind. Wenn ein Angreifer ein Paket ändert, erkennt die empfangende Seite diese Änderung und verwirft das Paket. In diesem Fall kann der Angreifer also die Datei cart.swf nicht ändern, da die Übertragung über HTTPS erfolgt.
Doch nun möchten Sie, dass in der über HTTP bereitgestellten Datei catalog.swf Artikel mittels Schaltflächen dem Einkaufswagen in cart.swf hinzugefügt werden können, der seinerseits über HTTPS bereitgestellt wird. Dazu ruft cart.swf die
Ein solcher Missbrauch ist natürlich nicht erwünscht, Sie möchten dennoch, dass Cross-Scripting zwischen den beiden SWF-Dateien Ihrer Site möglich ist. Im Folgenden sind zwei Möglichkeiten aufgeführt, wie Sie diese hypothetische E-Commerce-Site so umbauen können, dass
Die gängigen Webbrowser unterscheiden bereits seit Jahren zwischen HTTPS- und Nicht-HTTPS-Dateien. Das erläuterte Szenario verdeutlicht, weshalb diese Unterscheidung so wichtig ist. Flash Player bietet die Möglichkeit, diese Sicherheitsvorkehrung zu umgehen, wenn dies absolut erforderlich ist. Zuvor sollten Sie sich jedoch die möglichen Folgen sehr genau bewusst machen.
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Mithilfe von
Hierdurch versucht Flash Player bzw. AIR, von der angegebenen URL eine Richtliniendatei abzurufen. Alle an diesem Speicherort von der Richtliniendatei zugelassenen Berechtigungen gelten auch für alle Inhalte auf der gleichen oder einer niedrigeren Ebene in der virtuellen Ordnerhierarchie des Servers.
Beispielsweise wird bei den folgenden zusätzlichen Codezeilen keine Ausnahme ausgelöst:
Beim folgenden Code wird jedoch eine Sicherheitsausnahme ausgelöst:
Mit
Beim Überprüfen auf eine Master-Richtliniendatei wartet Flash Player drei Sekunden lang auf eine Antwort des Servers. Wenn keine Antwort erhalten wird, nimmt Flash Player an, dass es keine Master-Richtliniendatei gibt. Für Aufrufe der Methode
Eine Verbindung mit normalerweise reservierten Ports ist nicht möglich. Eine vollständige Liste der gesperrten Ports finden Sie unter „Beschränken von Netzwerk-APIs“ im ActionScript 3.0 Entwicklerhandbuch.
Wenn Sie das
Hierdurch versucht Flash Player bzw. AIR, eine Richtliniendatei von dem angegebenen Host und Port abzurufen. Wurde eine Verbindung mit dem angegebenen Port hergestellt, sendet Flash Player oder AIR
Sie können eine SWF-Datei daran hindern, diese Methode aufzurufen, indem Sie auf der HTML-Seite, die den SWF-Inhalt enthält, den Parameter
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
In Flash Player 6 basiert die für diese Player-Einstellungen verwendete Domäne auf dem der Domäne der SWF-Datei nachgestellten Teil. Wenn die Domäne einer SWF-Datei mehr als zwei Segmente enthält, beispielsweise www.example.com, wird das erste Segment der Domäne („www“) entfernt und der restliche Teil der Domäne verwendet, d. h. example.com. In Flash Player 6 wird daher bei www.example.com und bei store.example.com die Domäne example.com als Domäne für diese Einstellungen verwendet. Genauso wird bei www.example.co.uk und store.example.co.uk die Domäne example.co.uk als Domäne für diese Einstellungen verwendet. In Flash Player 7 und späteren Versionen werden Player-Einstellungen in der Standardeinstellung entsprechend der exakten Domäne einer SWF-Datei ausgewählt. Beispiel: Eine SWF-Datei von www.example.com verwendet die Player-Einstellungen für www.example.com und eine SWF-Datei von store.example.com für store.example.com.
Wenn
Wenn Sie zuvor eine SWF-Datei in Version 6 veröffentlicht und daraus permanente gemeinsame Objekte erstellt haben und jetzt diese permanenten gemeinsamen Objekt aus der SWF-Datei, die Sie auf Version 7 oder höher portiert haben, abrufen müssen, setzen Sie
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Beim Laden von SWF-Dateien mit der
Beim Laden einer SWF-Datei mit der
Beim Laden von Bildern (JPEG-, GIF- oder PNG-Dateien) anstelle von SWF-Dateien muss weder eine Sicherheitsdomäne noch eine Anwendungsdomäne angegeben werden, da dies nur für SWF-Dateien gilt. Stattdessen muss nur eine Entscheidung getroffen werden: Ist ein programmgesteuerter Zugriff auf die Pixel des geladenen Bilds erforderlich? Wenn dies der Fall ist, finden Sie entsprechende Hinweise im Abschnitt zur
Hinweis: Material in der Sicherheitssandbox der AIR-Anwendung kann kein Material aus anderen Sandboxen in seine SecurityDomain laden.
Diese Eigenschaft ist hilfreich, wenn Sie Bildinhalte in Ihre Sandbox importieren möchten - zum Beispiel, wenn Sie ein Bild aus einer anderen Domäne replizieren oder verarbeiten möchten - aber nicht das Risiko eingehen möchten, eine SWF-Datei zu empfangen, wenn Sie nur eine Bilddatei erwartet haben. Da SWF-Dateien ActionScript-Code enthalten können, ist das Importieren einer SWF-Datei viel riskanter als das Importieren einer Bilddatei.
In AIR-Material in der Anwendungssandbox ist der Standardwert
Die
Jede Sicherheitsdomäne ist in eine oder mehrere Anwendungsdomänen unterteilt, die durch ApplicationDomain-Objekte angegeben werden. Anwendungsdomänen dienen keinen Sicherheitszwecken, sondern der Verwaltung kooperierender Einheiten des ActionScript-Codes. Wenn Sie eine SWF-Datei von einer anderen Domäne laden und festlegen, dass die SWF-Datei in einer anderen Sicherheitsdomäne abgelegt werden kann, können Sie die Anwendungsdomäne nicht auswählen, in der die geladene SWF-Datei abgelegt wird. Wenn Sie eine Anwendungsdomäne angegeben haben, wird diese Auswahl ignoriert. Wenn Sie jedoch eine SWF-Datei in Ihre eigene Sicherheitsdomäne laden, da die SWF-Datei aus Ihrer eigenen Domäne stammt oder Sie sie in Ihre Sicherheitsdomäne importieren, können Sie die Anwendungsdomäne für die geladene SWF-Datei auswählen.
Sie können eine Anwendungsdomäne für
Für die
Nach Abschluss eines Ladevorgangs muss auf beiden Seiten (ladendes Objekt und geladenes Objekt) möglicherweise die eigene ApplicationDomain oder die ApplicationDomain der anderen Seite gesucht werden, um
Weitere Informationen finden Sie im Abschnitt „ApplicationDomain-Klasse“ im Kapitel „Clientsystem-Umgebung“ im ActionScript 3.0 Entwicklerhandbuch.
Setzen Sie diesen Merker auf
Wenn Sie die
Wenn Sie
Wenn Sie
Wenn Sie keinen Zugriff auf Pixelebene auf das geladene Bild benötigen, setzen Sie die
Setzen Sie
Bei Verwendung von
Sie brauchen diese Eigenschaft nicht für AIR-Inhalt einstellen, der in der Anwendungssandbox ausgeführt wird. Inhalt in der AIR-Anwendungssandbox kann die
Mit der Standardrichtlinie,
Mit der Richtlinie
Mit beiden Richtlinien verwendet die Laufzeitumgebung dasselbe Cache- und Flush-Verhalten, nachdem das Bild dekodiert wurde. Die Laufzeitumgebung kann die dekodierten Daten jederzeit aus dem Arbeitsspeicher entfernen und das Bild neu dekodieren, wenn es wieder benötigt wird.
Normalerweise wird der Wert der
Der Zweck dieser API ist es, der ladenden SWF-Datei zu ermöglichen, ihre Parameter an eine geladene SWF-Datei weiterzuleiten. Diese Funktion ist besonders hilfreich, wenn Sie die
Betrachten Sie zum Beispiel die folgende URL:
Der folgende Code verwendet die LoaderContext.parameters-Eigenschaft, um einen an diese URL übergebenen Parameter zu replizieren:
import flash.system.LoaderContext; import flash.display.Loader; var l:Loader = new Loader(); var lc:LoaderContext = new LoaderContext; lc.parameters = { "foo": "bar" }; l.load(new URLRequest("child.swf"), lc);
Um zu überprüfen, ob der Parameter korrekt übergeben wurde, verwenden Sie die folgende trace-Anweisung, nachdem Sie den Code ausgeführt haben:
Wenn der Inhalt erfolgreich geladen wurde, gibt diese trace-Anweisung „bar“ aus.
Nachdem der Inhalt vollständig geladen wurde, wird das Loader-Objekt normalerweise zum übergeordneten Element des Inhalts. Wenn
Wenn es sich bei dem geladenen Inhalt um ein AVM1Movie-Objekt handelt, oder wenn beim Aufruf von
Wenn das angeforderte übergeordnete Element und der geladene Inhalt sich in unterschiedlichen Sicherheits-Sandboxen befinden, und wenn das angeforderte übergeordnete Element keinen Zugriff auf den geladenen Inhalt hat, geschieht Folgendes:
Der folgende Code verwendet
import flash.system.LoaderContext; import flash.display.Loader; import flash.display.Sprite; var lc:LoaderContext = new LoaderContext(); var l:Loader = new Loader(); var s:Sprite = new Sprite(); lc.requestedContentParent = s; addChild(s); l.load(new URLRequest("child.swf"), lc);
Wenn dieser Code ausgeführt wird, erscheint die untergeordnete SWF-Datei auf der Bühne. Diese Tatsache bestätigt, dass das Sprite-Objekt, das Sie der Bühne hinzugefügt haben, das übergeordnete Element der geladenen untergeordneten SWF-Datei ist.
Die Auswahl der Sicherheitsdomäne ist nur beim Laden einer SWF-Datei von Bedeutung, die möglicherweise von einer anderen Domäne (einem anderen Server) als die ladende SWF-Datei stammt. Wenn Sie eine SWF-Datei von Ihrer eigenen Domäne laden, wird sie immer in Ihrer Sicherheitsdomäne abgelegt. Wenn Sie jedoch eine SWF-Datei von einer anderen Domäne laden, stehen Ihnen zwei Optionen zur Verfügung. Sie können festlegen, dass die geladene SWF-Datei in ihrer „natürlichen“ Sicherheitsdomäne abgelegt wird, die sich von der der ladenden SWF-Datei unterscheidet. Dies ist die Standardeinstellung. Die andere Möglichkeit besteht darin, dass Sie festlegen, dass die geladene SWF-Datei in der gleichen Sicherheitsdomäne wie die ladende SWF-Datei abgelegt wird. Setzen Sie dazu
Sie können für
Material in der AIR-Anwendungs-Sandbox kann kein Material aus anderen Sandboxen in seine SecurityDomain laden.
Weitere Informationen finden Sie im Kapitel „Sicherheit“ des ActionScript 3.0 Entwicklerhandbuchs.
Legt fest, ob Sie ein
In AIR-Material in der Anwendungssandbox ist der Standardwert
Die JPEGLoaderContext-Klasse erweitert die LoaderContext-Klasse. Setzen Sie die
Einige Funktionen von Adobe AIR sind allerdings nicht als Eigenschaften in der Capabilities-Klasse aufgelistet. Sie sind Eigenschaften anderer Klassen:
Verwenden Sie nicht
Sie können Daten zum Funktionsumfang, die in der
A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t& SB=f&DEB=t&V=WIN%209%2C0%2C0%2C0&M=Adobe%20Windows& R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP& L=en&PT=External&AVD=f&LFD=f&WD=f&IME=t
In der folgenden Tabelle sind die Eigenschaften der Capabilities-Klasse und die entsprechenden Serverstrings aufgeführt:
Es gibt auch einen
Alle Eigenschaften der Capabilities-Klasse sind schreibgeschützt.
Für Inhalt in Adobe AIR™ gilt diese Eigenschaft nur für Inhalt in Sicherheitssandboxen, bei denen es sich nicht um die Sicherheitssandbox der Anwendung handelt. Inhalt in der Sicherheitssandbox der Anwendung kann immer auf die Kamera und das Mikrofon des Benutzers zugreifen.
trace(Capabilities.cpuArchitecture);
Je nach Betriebssystem werden von den Gebietsschemastrings unterschiedliche regionale Informationen zurückgegeben. Ein Betriebssystem könnte z. B.
Der erste Eintrag im zurückgegebenen Array hat im Allgemeinen die gleiche primäre Sprach-ID wie die
Der Serverstring ist
In englischen Systemen gibt diese Eigenschaft nur den Sprachcode (
Hinweis: Als Wert für die
Der Serverstring ist
Die Eigenschaft
Darüber hinaus sind auch freigegebene Laufzeitbibliotheken gesperrt, wenn diese Eigenschaft auf
Der Serverstring ist
Verwenden Sie nicht
Der Serverstring ist
Der Serverstring ist
Verwenden Sie nicht
Der Serverstring ist
Im folgenden Beispiel ist ein URL-kodierter String dargestellt:
A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t& SB=f&DEB=t&V=WIN%208%2C5%2C0%2C208&M=Adobe%20Windows& R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP& L=en&PT=External&AVD=f&LFD=f&WD=f
trace(Capabilities.supports32BitProcesses);
trace(Capabilities.supports64BitProcesses);
WIN 9,0,0,0 // Flash Player 9 for Windows MAC 7,0,25,0 // Flash Player 7 for Macintosh LNX 9,0,115,0 // Flash Player 9 for Linux AND 10,2,150,0 // Flash Player 10 for Android
Verwenden Sie nicht
Der Serverstring ist
In the following example, the fscommand()
function sets Flash Player to
scale the SWF file to the full monitor screen size when the fullscreen_btn
button or
unfullscreen_btn
is released:
this.fullscreen_btn.onRelease = function() { fscommand("fullscreen", true); }; this.unfullscreen_btn.onRelease = function() { fscommand("fullscreen", false); };
The following example uses the fscommand()
function applied to a button in Flash to
open a JavaScript message box in an HTML page. The message itself is sent to JavaScript as the
fscommand
parameter.
You must add a function to the HTML page that contains the SWF file. This function,
myDocument
_DoFSCommand
, sits in the HTML page and waits for an
fscommand()
function in Flash. When an fscommand
is triggered in Flash
(for example, when a user presses the button), the command
and args
strings
are passed to the myDocument
_DoFSCommand
function. You can use the
passed strings in your JavaScript or VBScript code in any way you like. In this example, the function
contains a conditional if
statement that checks to see if the command string is
"messagebox
". If it is, a JavaScript alert box (or "message box") opens
and displays the contents of the args
string.
function myDocument_DoFSCommand(command, args) { if (command == "messagebox") { alert(args); }
In the Flash document, add the fscommand()
function to a button:
fscommand("messagebox", "This is a message box called from within Flash.")
You can also use expressions for the fscommand()
function and parameters, as in the
following example:
fscommand("messagebox", "Hello, " + name + ", welcome to our website!")
To test the SWF file, select File > Publish Preview > HTML.
Note: If you publish your SWF file using the Flash with FSCommand template in the
HTML
tab of the Publish Settings dialog box, the myDocument_DoFSCommand
function is inserted
automatically. The SWF file's NAME
and ID
attributes will be the filename.
For example, for the file myDocument.fla, the attributes would be set to myDocument
.
Die Funktion
Sie können eine SWF-Datei daran hindern, diese Methode aufzurufen, indem Sie auf der HTML-Seite, die den SWF-Inhalt enthält, den Parameter
Die
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Verwendung 1: Um mithilfe von
Nicht alle in der Tabelle aufgeführten Befehle sind in allen Anwendungen verfügbar:
Im Befehl
Verwendung 2: Wenn Sie mit
In einem Webbrowser ruft
Setzen Sie in der Webseite, die die SWF-Datei enthält, das
Wenn Flash Player 10 oder eine spätere Version im Browser ausgeführt wird, kann diese Methode eventuell nicht programmgesteuert verwendet werden, um ein Popupfenster zu öffnen. Verschiedene Browser (und Browserkonfigurationen) blocken eventuell Popupfenster. Es kann daher nicht sichergestellt werden, dass Popupfenster eingeblendet werden. Den größten Erfolg verspricht diese Methode zum Öffnen eines Popupfensters, und zwar aufgrund von Code, der als direktes Ergebnis einer Benutzeraktion ausgeführt wird, z. B. in einer Ereignisprozedur für ein Mausklick- oder Tastendruckereignis.
Verwendung 3: Über die Funktion
Verwendung 4: In VisualBasic, Visual C++ und anderen Programmen, in denen ActiveX-Steuerelemente ausgeführt werden können, sendet die Funktion
Hinweis: Die ExternalInterface-Klasse stellt bessere Funktionen für die Kommunikation zwischen JavaScript und ActionScript (Verwendung 2) und zwischen ActionScript und VisualBasic, Visual C++ oder anderen Programmen bereit, die ActiveX-Steuerelemente (Verwendung 4) hosten können. Verwenden Sie
Hinweis: Dieses Beispiel sollte in einem eigenständigen Flash Player und nicht in einem Webbrowser ausgeführt werden.
Unterstützung von AIR-Profilen: Diese Funktion wird unter Desktopbetriebssystemen unterstützt, aber nicht auf allen mobilen Geräten. Bei Geräten mit AIR für TV wird sie ebenfalls nicht unterstützt. Mit der
Benutzer können mithilfe von Eingabemethoden-Editoren ASCII-fremde Textzeichen in Multibyte-Sprachen wie Chinesisch, Japanisch oder Koreanisch eingeben. Weitere Informationen zur Verwendung von Eingabemethoden-Editoren finden Sie in der Dokumentation des Betriebssystems, für das Sie Anwendungen entwickeln. Weitere Ressourcen finden Sie auf den folgenden Websites:
Wenn ein IME auf dem Computer des Benutzers deaktiviert ist, treten mit Ausnahme von
In der folgenden Tabelle sind die Plattformen aufgeführt, auf denen diese Klasse unterstützt wird:
~~ Diese Vorgänge werden nicht in allen Windows-IMEs unterstützt. Der einzige IME, der alle Vorgänge unterstützt, ist der IME für Japanisch.
~~~~ Auf Macintosh-Systemen werden diese Methoden nur im IME für Japanisch unterstützt, bei IMEs von Drittanbietern werden sie dagegen nicht unterstützt.
Die ActionScript 3.0-Version dieser Klasse unterstützt nicht Macintosh Classic.
Wenn kein Textfeld mit Fokus vorhanden ist, schlägt die Methode fehl, und ein Fehler wird ausgegeben.
Weitere Eigenschaften und Methoden befinden sich in den folgenden anderen Klassen des flash.system-Pakets: in der Capabilities-Klasse
Diese Klasse enthält lediglich statische Methoden und Eigenschaften. Sie können keine neuen Instanzen der System-Klasse erstellen.
Nur für die Debugger-Version des eigenständigen Flash Player.
AIR-Anwendungen sollten die
Nur für die Debugger-Version des Flash Player oder den AIR Debug Launcher (ADL).
Nur für die Debugger-Version des Flash Player oder den AIR Debug Launcher (ADL).
Diese Methode wird für SWF-Inhalt bereitgestellt, der in Flash Player 9 ausgeführt wird. Sie erlaubt nur das Hinzufügen von Stringinhalt zur Zwischenablage.
Flash Player 10-Inhalt und Inhalt in der Sicherheitssandbox der Anwendung in einer AIR-Anwendung können die
AIR-Entwickler sollten diese Eigenschaft verwenden, um den gesamten Speicherverbrauch einer Anwendung zu ermitteln.
Bei Flash Player gehört dazu auch der Speicher, der von der Containeranwendung, zum Beispiel vom Browser, verwendet wird.
Diese Eigenschaft wird als Typ „Number“ ausgedrückt, wodurch höhere Werte möglich sind als mit der
Diese Eigenschaft gibt nicht den gesamten Speicher zurück, der von einer Adobe AIR-Anwendung
Diese Eigenschaft gibt nicht den gesamten Speicher zurück, der von einer Adobe AIR-Anwendung
Wenn der Wert des zugewiesenen Speichers größer als der Höchstwert für ein uint-Objekt (
Text, den Sie als eine externe Datei laden (mit
Wenn Sie externe Textdateien laden, die nicht als Unicode kodiert sind, setzen Sie
System.useCodePage = true;
Wenn dieser Code vorhanden ist, werden externe Textdateien von der Anwendung mit der Standard-Codepage des Betriebssystems interpretiert. Unter einem deutschen Windows-Betriebssystem ist dies zum Beispiel im Allgemeinen CP1252, unter einem japanischen Betriebssystem Shift-JIS.
Wenn Sie
Sie können sicherstellen, dass die externen Textdateien in Ihrer Anwendung auf allen Plattformen angezeigt werden, indem Sie alle externen Textdateien als Unicode kodieren und
Flash Player identifiziert das Erfordernis eines Flash-Access-Modulupdates, indem ein NetStatusEvent-Ereignis abgesetzt wird. Das Ereignis hat eine
Flash Player identifiziert das Erfordernis eines Player-Updates, indem ein StatusEvent-Ereignis abgesetzt wird, mit verschiedenen möglichen Werten für die
Hinweis: Die SystemUpdater-API wird auf allen Desktopplattformen unterstützt.
Warten Sie nach Beginn des Updates auf die in dieser Klasse definierten Ereignisse. Die folgenden Ereignisse geben das Ende eines Updates an und lassen ein neues Update bzw. einen neuen Updateversuch zu, zum Beispiel durch Aufrufen der