kann es nicht zu funktionieren: crossdomain.xml und Flash
Ich habe eine (selbst erstellte) swf-demo mit der Taste auslösen getUrl('SampleTargetPage.html')
Möchte ich nun platzieren Sie die swf-Datei in unserem cdn an
cdn.example.com
während meiner html Seite die sich auf www.example.com
Mehr strukturiert:
www.example.com/test.html
cdn.example.com/someflash.swf
cdn.example.com/crossdomain.xml
Dachte ich, es wäre ausreichend, um eine crossdomain.xml bei cdn.example.com zu ermöglichen, die links funktionieren. Aber: es scheint, wie das Flash-plugin nie Abfragen der crossdomain.xml an alle!
Nun, gibt es etwas, was ich hinzufügen muss in die SWF selbst diese Arbeit zu machen? Vielen Dank!
edit: brauche ich Sicherheit.loadPolicyFile?
edit: Vielleicht brauche ich nicht die crossdomain.xml weil alles unter *.example.com?
- Wenn Flash player nicht laden Sie die Domänenrichtlinie dann hat es nichts zu tun mit der Politik, warum deine links nicht funktionieren. Bin ich richtig davon ausgehen, dass Sie versuchen
getUrl('javascript:goToPage();')
und nichtgetUrl(javascript:goToPage())
wie Sie falsch eingegeben haben, in deinem post? - Verändert die ursprüngliche Frage: ich bin NICHT mit javascript, es ist nur eine schlichte getUrl('test.hml') nennen, die nicht funktioniert crossdomain. (Mein Fehler, zu denken, dass ich wurden mit Hilfe von JS, sorry)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem gefunden!
Die Lösung war, war allowscriptaccess auf "always" in der flash-params:
Dass die hintergrund-info zu dem Problem:
Ab Flash Player 9, getURL (oder navigateToURL) fordert beeinflussen "_self," "_parent" oder "_top" betrachtet wurden, die eine Interaktion mit dem hosting der HTML-Seite. Beginnend mit Flash Player 9 update 3, werden alle Anrufe zu Zielen außer "_blank" betroffen sind. Dies soll verhindern, dass nicht Vertrauenswürdige SWF-Dateien eingebettet in HTML-Seite von re-Navigation in einer browser-Seite (oder einen frame innerhalb dieser Seite), ohne den Benutzer zu warnen, dass Sie nun ein Besuch in einem anderen Drittanbieter-website. Es setzt auch cross-domain-scripting Einschränkungen in allen html-frames.
Schützen HTML-Seiten aus nicht Vertrauenswürdige SWF-Dateien, Flash-Player unterstützt die HTML-parameter AllowScriptAccess in der und-tags, Flash-Inhalte angezeigt werden. AllowScriptAccess kann drei Werte haben:
Aufrufen getURL (oder navigateToURL ) fällt jetzt unter der Kontrolle des AllowScriptAccess-parameter. In anderen Worten, AllowScriptAccess, muss entweder "immer" oder "sameDomain" und die Domänen der HTML-Seite und SWF-Datei müssen genau übereinstimmen. Ansonsten der Aufruf an getURL (oder navigateToURL) scheitern.
Dies ist ein neues Verhalten eingeführt, die in Flash Player 9 um die Einhaltung der security-Modell und wirkt sich auf alle SWF-Versionen. Adobe ist sich bewusst, dass dies möglicherweise ändern Sie das Verhalten von einigen SWF-Medien bereitgestellt, bevor Sie die Version von Flash Player 9, und wir entschuldigen uns für alle Unannehmlichkeiten, die dies verursachen können.
Den crossdomain.xml die Datei sollte im Stammverzeichnis der Website und Listen Sie alle domain, die Zugang zu den Dateien innerhalb. Sie können auch festlegen, dass Sie die Datei an, damit alle, wenn Sie wollen.
Beachten Sie, dass in diesem Beispiel unten habe ich eine wildcard (*) anstelle einer subdomain, so kann ich geben Sie Zugriff auf alle sub-domains, fallen in meine Haupt-domain. Die ersten beiden Einträge nur Beispiele von bestimmten externen Websites, wenn Sie möchten, zu restriktiv über die. aber Sie können immer nur eine ..* auf alle zulassen.
Wird der Inhalt wie folgt Aussehen: