FLEX中如何获取当前页面的URL的问题
Browser.as脚本:
package test{
import flash.external.ExternalInterface;
public class Browser{
//获取当前url路径
public static function getUrl():String{
//var url:String = ExternalInterface.call("function getUrl(){return document.location.href;}");
var url:String = ExternalInterface.call('window.location.href.toString');
return url;
}
}
}
mxml脚本
import test.Browser;
var abc:String = Browser.getUrl();
log(abc);//log是我自己写的输出函数
用ant编译后无论如何都无法获取到swf所在页面的url,ant编译的过程中也没有报错,只是log()没有输出任何东西(我确定log函数没错,直接log('123')是没有问题的)。因为项目原因,我的FLEX SDK是4.1版本的,请问问题出在那里?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
用的debug版本的flash player吗? 有没有报什么错误?
一般来说调用ExternalInterface.call之前最好先判断一下ExternalInterface.available是否为ture.
另外如果页面和swf在不同的域可能会引起安全错误.
如果都不是,那就试试其他的函数 如
最近在做项目的时候遇到类似的问题,也许有帮助。
1. 所有浏览器都不能工作还是只有个别,我的问题是因为chrome的安全机制导致无法工作。
2. flash builder 自带的浏览器能不能工作。
3. 安装flash player version, trace错误代码会有比较有用。
4. 在html中的swf config部分,有个allowScriptAccess,值设为always试试。