AS3:是否可以仅接受 FlashVars 并忽略查询字符串参数?
LoaderInfo 状态的 Adobe 页面:
参数的两个来源是:URL中的查询字符串 主 SWF 文件,以及 FlashVars HTML 参数的值(此 仅影响主 SWF 文件)。
我们只想接受 FlashVars 参数并忽略作为查询字符串的一部分传入的参数。这可能吗?
Adobe page for LoaderInfo states:
The two sources of parameters are: the query string in the URL of the
main SWF file, and the value of the FlashVars HTML parameter (this
affects only the main SWF file).
We would like to accept only FlashVars parameters and ignore the ones passed in as parts of Query String. Is this ever possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
LoaderInfo 具有属性 url (
root.loaderInfo.url
),您可以抓取它,解析它,您将获得通过以下方式传入的参数查询字符串。然后,您可以从 root.loaderInfo.parameters 中减去它们。这是迄今为止我能找到的唯一方法。建议表示赞赏。
LoaderInfo has property url (
root.loaderInfo.url
), you can grab it, parse it and you will get parameters that were passed in with the query string. You can then subtract them fromroot.loaderInfo.parameters
.This is the only way I could find so far. Suggestions appreciated.
不,这是不可能的,考虑到参数只是一个通用对象,具有一堆由查询字符串或 flashvar 设置的本质上的键/值对。没有任何内容表明这些键/值的设置位置。
如果您有权访问嵌入代码,您可以做的一件事就是在服务器端控制它。您也许可以编写一个脚本,该脚本会删除查询字符串中出现的所有变量,并将干净的 swf url 写入页面,而不是包含变量的页面。
另外值得注意的是,flashvar 优先于查询字符串变量。因此,如果查询字符串中有
foo=querystring
且 flashvars 中有foo=flashvars
,则 foo 的值将显示为“flashvars”。No, this is not possible, considering parameters is just a generic object with a bunch of essentially key/value pairs set by the query string or flashvars. There's nothing that indicates where any of these key/values are set.
The one thing you could do is control it on the server side, if you have access to the embed code. You could maybe write a script that would strip off any vars that appear on the query string and write the clean swf url to the page instead of one with the vars.
Also worth noting, flashvars take precedence over query string vars. So, if you have a
foo=querystring
in the query string andfoo=flashvars
in the flashvars, the value of foo will result as "flashvars".