as3 Sicherheits-Sandbox-Verletzung
Ich gelesen habe alle ähnlichen Themen schon nicht mit Glück, so bin ich Entsendung eine neue Frage zu diesem Fehler.
Ich versuche, das laden einer swf-Datei eine andere swf-Datei mit diesem code:
var loader:Loader = new Loader()
//listen for loading progress
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
//listen for when the load is finished
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onLoaderError);
//load!
var rr:URLRequest = new URLRequest("http://localhost/Gen-Tree.swf")
loader.load(rr);
function onLoaderError(event:SecurityErrorEvent) {
trace("hi")
}
function onProgress(event:ProgressEvent):void
{
//calculate how much has been loaded
var percentageLoader:Number = event.bytesLoaded / event.bytesTotal;
//use your percentage number here to drive a loader bar graphic
}
function onComplete(event:Event):void
{
//remove listeners now that loading is done
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, onProgress);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onComplete);
//add loaded swf to the stage
addChild(loader.content);
}
und ich bekomme eine Fehlermeldung wie folgt:
SecurityDomain 'http://localhost/Gen-Tree.swf' tried to access incompatible context 'file:///C|/Users/Alex/Desktop/Gen%2DTree%202012/Programming/loader.swf'
*** Security Sandbox Violation ***
SecurityDomain 'http://localhost/Gen-Tree.swf' tried to access incompatible context 'file:///C|/Users/Alex/Desktop/Gen%2DTree%202012/Programming/loader.swf'
*** Security Sandbox Violation ***
SecurityDomain 'http://localhost/Gen-Tree.swf' tried to access incompatible context 'file:///C|/Users/Alex/Desktop/Gen%2DTree%202012/Programming/loader.swf'
Irgendwelche Ideen?
InformationsquelleAutor astralmaster | 2012-07-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie versuchen, laden der externen swf aus der Datei-system, die Sicherheit werfen Fehler. Stellen Sie Sie auf einem server, und es sollte funktionieren, solange beide SWF-Dateien in derselben Domäne. Oder führen Sie einen lokalen server und versuchen Sie es auf.
Wenn die beiden swfs sind nicht in der gleichen Domäne ist, müssen Sie eine
crossdomain.xml
. Es gehe auf die root-server und es wird in etwa so Aussehen:Außer Sie sollten nur nicht verwenden
*
da es sonst öffnen Sie bis zu security-Risiken. Sie wollen speziell die white-Liste der anderen Domäne. Erfahren Sie mehr über die cross-domain-policy-Dateien hier.UPDATE:
Zusätzlich, da die loader-swf-Datei der Zugriff auf die Inhalte, auf die es geladen wird (durch
loader.content
), müssen Sie Sicherheit Berechtigungen, die content-swf (sieht wie es genannt wirdGen-Tress.swf
):Es ist auch erwähnenswert, dass
Loader
ist einDisplayObject
, das heißt, Sie können direkt hinzufügen, um denstage
mitaddChild(loader)
stattaddChild(loader.content)
. Durch nicht den Zugriff auf dieLoader
's-Gehalt, können Sie in der Regel vermeiden security sandbox violation" Fehler und sich nicht mit, so dass die Domänen-und cross-domain-Richtlinien.Wenn Sie auf Wamp, warum bist du hart-Codierung einer Datei system Pfad zum laden der SWF? Statt
file:///C|/Users/Alex...
sollte eshttp://localhost/loader.swf
.Ich bin nicht, es ist der Lader.swf, die den Zugriff auf Gen-Baum.swf, nicht Umgekehrt. Die error-Anweisung ist verwirrend, gerade deshalb.
Sind Sie der öffnung des loader-swf-Dateien über Xampp? Oder einfach direkt in den browser? Dem Fehler der Datei system Pfad ist seltsam.
Wenn ich öffne loader.swf-es von einem browser, alles, was ich bekommen ist eine leere Seite. Wenn ich führen Sie es direkt aus dem Flash bekomme ich oben genannten Fehler. In der Tat, es ist irgendwie seltsam.
InformationsquelleAutor redhotvengeance
Könnten Sie versuchen, laden Sie die swf-Datei und als Sie die reload-Lader-Inhalt mit loader.loadBytes(). so machen Sie ein bytearray-Klon des swf und Umgehung der Sicherheits-sandbox. bis jetzt funktioniert es ziemlich gut mit den Bildern. Ich erklärte den Prozess auf meinem blog: http://www.inklink.co.at/blog/?p=14
ein Beispiel mit Bildern folgt:
hoffe, es hilft!
funktioniert dieser hack noch funktioniert oder es war blockiert durch ein Adobe Update?
Das funktioniert nicht mehr. Es wurde gepatcht, die von Adobe einige Versionen her...
InformationsquelleAutor BrunoFenzl
Vielleicht können Sie versuchen, hinzufügen
loadercontext
.InformationsquelleAutor new bie