【问题标题】:why i can't pass parameters to flash using 'file://' protocol?为什么我不能使用'file://'协议将参数传递给闪存?
【发布时间】:2011-09-27 20:11:52
【问题描述】:

系统信息
Flash 播放器版本:10_1_102_65
操作系统:linux debian,6.0.2
网络浏览器:Mozilla Iceweasel 3.5.16

问题描述
我有一个使用参数在屏幕上显示输出的 flash 文件。不幸的是,我没有来源,也无法修改/审查它。

我可以使用 http:// 协议成功运行 flash 并将参数传递给它。例如,
#> 冰鼬http:///localhost/40.swf?channel_id=1
在浏览器中显示正确的 flash。

但是当我尝试从文件加载闪存时
#> iceweasel file:///home/user/40.swf?channel_id=1
flash 无法读取传递的参数并显示无效输出

真的很奇怪。因为当我降级 Flash 插件(从 10_1_102_65 到 9)时,两种协议都可以工作!那是在 9 以上的 flash 播放器中发生的事情。 不幸的是,我不能在我的生产环境中使用 Flash Player 9,所以我应该使用 Flash Player 10 来解决这个问题。

问题
如何使用“file://”协议将参数传递给 flash?

感谢任何帮助。 谢谢。

【问题讨论】:

    标签: linux flash parameters


    【解决方案1】:

    正如 Ignacio 所说,GET 参数是 HTTP 的一部分,不适用于 file:// 协议,但您可以尝试的一件事是提供 FlashVar 的 channel_id。在 swf 内部,ActionScript 代码通常以相同的方式访问 GET 参数和 FlashVars(使用 loaderInfo.parameters)。

    【讨论】:

    • 您如何解释 Flash Player 9 可以同时使用这两种协议?
    • 我不能。但我认为您很有可能使用 FlashVars 使其工作,无论 Flash Player 版本如何。
    • 哦,没注意验收。感谢您的信息。会考虑的。
    • 顺便说一句。我尝试将 flashvars 参数添加到 标记,但这对我没有帮助。可能我的环境有问题,Flash 播放器不想正确播放。我试过以下代码:
    • 嵌入代码包括。 flashvars 看起来是正确的。我真的不能说为什么那行不通。除了使用 '' 标签时,它可能需要单独的 '' 作为子元素。
    【解决方案2】:

    GET 只存在于 HTTP 中。访问本地文件时不能使用查询字符串。而且由于您没有来源,因此几乎不可能提供替代方案。

    【讨论】:

    • 感谢您的帮助,但我不能同意您的看法。我添加了一些关于 Flash Player 9 的信息。抱歉,我没有在第一篇文章中提供。
    猜你喜欢
    • 2011-01-09
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 2020-08-28
    • 1970-01-01
    相关资源
    最近更新 更多