Sto cercando di ottenere l'URL del browser corrente. Ho già provato con External Call e non ha funzionato. E con loaderInfo.url ricevo l'url SWF corrente.Ottieni l'URL del browser corrente - ActionScript 3
risposta
Vorrei provare a passare le informazioni richieste come flashvar. Non è la soluzione migliore che conosco, ma funzionerà.
credo che la sua posible per usare l'interfaccia esterna di farlo con javascript window.location
dare un'andare:
import flash.external.ExternalInterface;
var url:String = ExternalInterface.call("window.location.href.toString");
if (url) textfield.text = url;
dovrebbe fare il trucco.
Ci sono un paio di modi per risolvere questo problema, ma tutti implicano l'uso di JavaScript per interrogare direttamente il browser.
Il mio modo preferito per risolvere questo problema sarebbe quello di fornire l'URL tramite una proprietà flashVar, direttamente dal codice di incorporazione (personalmente, vorrei raccomandare usando SWFObject per semplificare questo); non dimenticare che dovrai codificare l'URL per evitare problemi di markup.
var flashvars = {
browserURL: escape(location.href)
};
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf", flashvars);
Ora si sarà in grado di accedere all'URL del browser tramite l'oggetto loaderInfo:
trace(stage.loaderInfo.parameters["browserURL"]);
Si noti che questo funziona solo se si ha il controllo di HTML generato per il file SWF - se gli utenti sono andando a prendere il SWF e scrivendo il proprio HTML incorporato, non funzionerà.
Se non si ha il controllo del codice HTML di embed flash, è necessario ottenere il flash per interrogare il browser in fase di esecuzione utilizzando la classe ExternalInterface; altre persone hanno suggerito l'uso di "window.location.href.toString", tuttavia questo può risultare problematico in IE6, trovo le seguenti opere in modo affidabile in tutti i browser
const browserURL : String = ExternalInterface.call("eval", "window.location.href");
Nota che, per far funzionare tutto questo, voi sarà necessario concedere l'accesso JavaScript al filmato Flash, questo è fatto, ancora una volta, tramite il codice embed HTML e il allowScriptAccess param
var url:String = loaderInfo.loaderURL;
sembra funzionare troppo.
Ho utilizzato il flash da molto tempo e non l'ho mai notato. Fornisce il dominio solo per sicurezza. Funziona anche tramite swfs caricati. Non sono sicuro degli iframe.
Security.pageDomain
- 1. actionscript 3 init()
- 2. Ottieni l'URL corrente dal browser utilizzando python
- 3. Eclipse e Actionscript 3
- 4. actionscript 3 e JSON
- 5. Debugging Haxe (ActionScript 3)
- 6. Ottenere corrente URL del browser
- 7. Ereditarietà multipla in ActionScript 3
- 8. ActionScript 3: Animazione programmatica uniforme
- 9. Dynamic Audio Generation Actionscript 3
- 10. Actionscript 3 - Importazione file SVG
- 11. Ottieni e analizza JSON in ActionScript
- 12. eventi touch vs eventi clic del mouse utilizzando actionscript 3
- 13. La comunicazione tra C++ e ActionScript 3
- 14. Actionscript - Ottenere il nome della funzione corrente
- 15. Disegna testo sulla forma in ActionScript 3
- 16. Ottieni l'URL della pagina corrente da Flex 3?
- 17. Rails 3: Ottieni lo spazio dei nomi corrente?
- 18. Ottieni cartella principale del file corrente PHP
- 19. Ottieni il nome del metodo corrente
- 20. Android: Ottieni l'orientamento corrente del dispositivo
- 21. Eclipse: ottieni la posizione del file corrente?
- 22. Ottieni il nome del metodo corrente
- 23. Informazioni su Array :: splice in ActionScript 3
- 24. Actionscript 3 ExternalInterface, Passa variabile a javascript?
- 25. stringhe di ritaglio con actionscript 3
- 26. Che cos'è ActionScript 3? Come funziona?
- 27. Sintassi di Static Constructor in Actionscript-3?
- 28. Actionscript 3: caricamento dinamico di file ai?
- 29. array casuale as3 - array randomize - actionscript 3
- 30. Ottieni PID del browser lanciato dal selenio
L'unico problema con questa tecnica è che Flash interromperà alcuni URL in singole variabili. Questo succede con GET URL, ovvero: * .com? One = 1 & two = 2. Quindi tienilo a mente! –
@TylerEgeto puoi risolvere il problema codificando l'URL con caratteri speciali HTML – Tchakabam