Ich versuche, die aktuelle Browser-URL zu erhalten. Ich habe bereits mit External Call versucht, und es hat nicht funktioniert. Und mit loaderInfo.url erhalte ich die aktuelle SWF-URL.Aktuelle Browser-URL abrufen - ActionScript 3
Antwort
Ich würde versuchen, die erforderlichen Informationen als flashvar übergeben. Nicht die beste Lösung, die ich kenne, aber es wird funktionieren.
ich denke, seine posible die externe Schnittstelle ein tun es mit Javascript window.location
Geben dieses gehen zu verwenden:
import flash.external.ExternalInterface;
var url:String = ExternalInterface.call("window.location.href.toString");
if (url) textfield.text = url;
den Trick tun sollten.
Es gibt eine Reihe von Möglichkeiten, dieses Problem zu lösen, aber alle von ihnen beinhalten die Verwendung von JavaScript, um den Browser direkt abzufragen.
Mein bevorzugter Weg, um dieses Problem zu lösen, wäre die URL über eine FlashVar-Eigenschaft, direkt aus dem Einbettungscode (persönlich, würde ich empfehlen SWFObject, um dies zu erleichtern); Vergessen Sie nicht, dass Sie die URL verschlüsseln müssen, um Markup-Probleme zu vermeiden.
var flashvars = {
browserURL: escape(location.href)
};
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf", flashvars);
Jetzt werden Sie in der Lage sein, den Browser-URL über das loader Objekt zuzugreifen:
trace(stage.loaderInfo.parameters["browserURL"]);
beachten Sie, dass dies nur funktioniert, wenn Sie die Kontrolle der erzeugten HTML-Code für die SWF-Datei haben - wenn die Nutzer sind Ich werde die SWF greifen und ihr eigenes HTML einbetten, es wird nicht funktionieren.
Wenn Sie keine Kontrolle über den Flash-HTML-Einbettungsmodus haben, müssen Sie Flash abrufen, um den Browser zur Laufzeit mithilfe der ExternalInterface-Klasse abzufragen. aber andere Leute haben die Verwendung von „window.location.href.toString“, schlug dies kann in IE6 als problematisch erweisen, finde ich folgende Arbeiten zuverlässig in allen Browsern
const browserURL : String = ExternalInterface.call("eval", "window.location.href");
Beachten Sie, dass, um für diese zu arbeiten, Sie müssen Sie JavaScript, um Flash-Film zu gewähren, wird diese wieder getan, über den HTML-Code einbetten und die allowScriptAccess param
var url:String = loaderInfo.loaderURL;
scheint zu funktionieren.
Ich benutze Flash seit langer Zeit und habe diesen nie bemerkt. Es gibt nur die Domäne für Sicherheit. Es funktioniert auch durch geladene swfs. Nicht sicher über Iframes.
Security.pageDomain
- 1. Actionscript 3: Anzeigeobjekt bei Pixel abrufen
- 2. Dynamic Audio Generation Actionscript 3
- 3. HTTP-Antwortcode/Header in ActionScript 3 nicht abrufen?
- 4. IP-Adresse mit ActionScript abrufen?
- 5. ActionScript 3 Arbeitsbereichsgröße ändern
- 6. Actionscript 3 addChild Problem
- 7. Actionscript 3 Json?
- 8. ActionScript 3 dynamisch Ruftasten
- 9. Tastatureingabe mit ActionScript 3
- 10. Infinity in ActionScript 3
- 11. arsort mit Actionscript 3
- 12. Actionscript 3; Fehler 1086
- 13. ActionScript 3 MovieClip-Klassenverknüpfung
- 14. Actionscript 3 REPL
- 15. Entsprechung in ActionScript 3
- 16. Admob & ActionScript 3
- 17. Actionscript 3 Introspektion - Funktionsnamen
- 18. Actionscript 3 und JSON
- 19. Flash Whiteboard: Actionscript 3
- 20. Eclipse und Actionscript 3
- 21. ActionScript 3 Etiketten Fett
- 22. actionscript 3 init()
- 23. Dreieck Trigonometrie (ActionScript 3)
- 24. Actionscript 3 Facebook-Integration
- 25. ActionScript 3: Glatte programmatische Animation
- 26. Median Berechnung in ActionScript 3
- 27. ActionScript 3-Code-Faltung/Regionen
- 28. ActionScript 3 - Öffnen externer Dateien
- 29. Actionscript 3 Importpaket. * Vs Importpaket.Klasse
- 30. Shorten if-Anweisung Actionscript 3
Das einzige Problem bei dieser Technik ist, dass Flash einige URLs in einzelne Variablen zerlegt. Dies geschieht mit GET-URLs, dh: * .com? One = 1 & two = 2. Behalte das im Hinterkopf! –
@TylerEgeto können Sie das durch die Codierung der URL mit HTML-Sonderzeichen – Tchakabam