FLEX中如何获取当前页面的URL的问题

发布于 2022-08-27 11:49:54 字数 692 浏览 10 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

北城孤痞 2022-09-03 11:49:54

用的debug版本的flash player吗? 有没有报什么错误?
一般来说调用ExternalInterface.call之前最好先判断一下ExternalInterface.available是否为ture.
另外如果页面和swf在不同的域可能会引起安全错误.

如果都不是,那就试试其他的函数 如

ExternalInterface.call('console.log',"123");
幻梦 2022-09-03 11:49:54

最近在做项目的时候遇到类似的问题,也许有帮助。
1. 所有浏览器都不能工作还是只有个别,我的问题是因为chrome的安全机制导致无法工作。
2. flash builder 自带的浏览器能不能工作。
3. 安装flash player version, trace错误代码会有比较有用。
4. 在html中的swf config部分,有个allowScriptAccess,值设为always试试。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文