Un objet Flash intégré peut-il accéder au DOM de son document parent?

Je suis juste curieux s'il est possible que les objets Flash puissent accéder au DOM du document qui l'a intégré.

Oui, à travers la classe ExternalInterface.

Vous pouvez faire des appels vers Javascript à partir du film Flash et récupérer toute information publique sur la page que votre cœur désire.

Addenda

En regardant cela un an et demi plus tard, j'ai décidé d'ajouter quelques exemples:

Disons que vous avez une fonction JS sur votre page client comme ceci:

function foo(bar,type) { // do something with bar and type } 

Vous l'appelez depuis Flash (en utilisant AS3) comme ça:

 ExternalInterface.call(foo, bar, type); 

Notez que le nom de la fonction est le premier objet et les arguments sont listés séquentiellement par la suite.

Pour exposer une méthode du film Flash à l'extérieur de Javascript, vous le feriez dans votre Flash ou Flex (encore une fois, AS3):

 application1_applicationCompleteHandler(event:Event) { // the app has finished loading, so do whatever we // have to do on load, plus add that callback ExternalInterface.addCallback(foo, bar); } public function bar(arg1, arg2) : void { // do something with arg1 and arg2 } 

Dans le Javascript sur la page, vous l'invoquez comme ceci (où myMovie est l'ID du SWF):

 myMovie.foo(anArg, anotherArg); 

Dans la méthode addCallback , le premier argument est le nom externe de la fonction, et le second argument est la fermeture qui sera appelée.

Pas que je sache, mais ils peuvent exécuter javascript dans le document contenant, ce qui évidemment peut alors accéder au DOM lui-même.