我想获取当前浏览器的URL。我已经尝试使用外部调用,但失败了。而使用loaderInfo.url,则会接收到当前SWF的URL。
我想获取当前浏览器的URL。我已经尝试使用外部调用,但失败了。而使用loaderInfo.url,则会接收到当前SWF的URL。
请试一试这个:
import flash.external.ExternalInterface;
var url:String = ExternalInterface.call("window.location.href.toString");
if (url) textfield.text = url;
应该就能解决问题了。
var flashvars = {
browserURL: escape(location.href)
};
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0", "expressInstall.swf", flashvars);
trace(stage.loaderInfo.parameters["browserURL"]);
const browserURL : String = ExternalInterface.call("eval", "window.location.href");
var url:String = loaderInfo.loaderURL;
我建议尝试将所需信息作为flashvar传递。虽然这不是最好的开箱即用解决方案,但它可以工作。
我已经使用Flash很长时间了,但从未注意到这一点。它只提供域名以确保安全性。它也可以通过加载的SWF文件正常工作。不确定关于IFrame。
Security.pageDomain
我认为可以使用外部接口并使用JavaScript window.location
来实现它。