Flash ActionScript抓取查询字符串值

时间:2010-06-23 19:13:05

标签: flash actionscript

我需要从查询字符串中获取值并将它们注入getURL(“”);用于按钮的开启(释放){}的片段。

因此,如果包含嵌入式swf的URL是

http://domain.com/player.html?returndomain=otherdomain.com

我想得到那个otherdomain.com并注入它。像

这样的东西
var returnUrl = "";
// do magic querystring getting
getURL(returnUrl);

*编辑:我需要阻止查询字符串,因为我无法访问嵌入代码。它由第三方(Articulate)呈现并加载到框架中。我有权访问渲染帧html的代码,这就是为什么我认为查询字符串是最佳路由,以及在演示文稿中使用的一个按钮。

注意,我住的是C#land,而不是ActionScript,所以我很可能会把语法剔除。我只需要让这个按钮作为一个关闭,我可能永远不会再处理它。

顺便说一下,我已经看到abdulqabiz的QueryString对象在那里漂浮,但它看起来有点矫枉过正,就像应该在框架中加入一些东西。我也缺乏如何将其纳入我的小按钮(发布){}事件

的知识

2 个答案:

答案 0 :(得分:4)

您可以像这样获取查询字符串:

import flash.external.ExternalInterface;
var queryString:String = String(ExternalInterface.call("function() { return window.location.search; }"));

对于上面的示例,它会返回“?returndomain = otherdomain.com”,包括问号。

this.loaderInfo.url,在这里的评论中提出,是ActionScript 3,在ActionScript 2中它将是this._url,它将为您提供swf文件的URL,而不是页面的URL。

答案 1 :(得分:0)

您可以选择多种选项,但我想最简单的方法是使用FlashVar。您可以在HTML嵌入代码中将字符串定义为FlashVars,然后您就可以在ActionScript中访问它们。

您使用的是AS2还是AS3?

无论哪种方式,只需谷歌“如何使用FlashVars”,你应该设置。让我知道如果其中任何一部分令人困惑或令人沮丧,我可以帮助您逐步完成它。