【问题标题】:Using FlashVars to pass variables to a SWF使用 FlashVars 将变量传递给 SWF
【发布时间】:2009-12-04 08:46:53
【问题描述】:

我想将 50 多项变量从 php 传递到 flash。实际上,我想用 foreach 语句传递数组,遍历数组并将循环索引分配给变量,然后再次通过循环接受 php 值。这可能吗?

如果通过 foreach 或循环语句传递值是不可能的,我想在标记中换行。如何在 FlashVars 标签中换行?

【问题讨论】:

  • 感谢您提供的所有答案。实际上,我通过 php 中的内爆数组传递字符串并在 flash 中使用 split()。主要问题是我发送到闪存的参数超过 20。所以我想为 标记换行。我尝试使用两个 FlashVars 标签,但只能在 Flash 中检索 FlashVars 的第一行。我该怎么办??

标签: php flash flashvars


【解决方案1】:

您可以将值作为逗号分隔的字符串传递(当然,前提是这些值没有逗号) - 这样您就可以使用 string.split(","); 将它们放入闪存中的数组

【讨论】:

  • 非常感谢,阿马戈什!我通过 php 中的内爆数组传递字符串并在 flash 中使用 split()。主要问题是我发送到闪存的参数超过 20。所以我想为 标记换行。我尝试使用两个 FlashVars 标签,但只能在 Flash 中检索 FlashVars 的第一行。我能怎么做??如果我的问题如此愚蠢,请原谅我。我真的迷路了!!感谢您的帮助。
  • Afaik,您不能拥有多个 flashvar。参数数量超过 20 有什么问题?它会破坏还是您只是担心由此生成的 html 代码的可读性?
【解决方案2】:

如果您觉得这将 flashvars 推到了极限,您可以考虑从 SWF 中向您的 PHP 页面发出 HTTP 请求,然后向其发送您想要的任何数据。

【讨论】:

    【解决方案3】:

    有这么多标签,您可能会考虑使用URLLoaderExternalInterface 调用从函数或页面获取信息,否则您可以像这样将列表推送到一起: 假设 $vararray 是您要传递的变量数组

    PHP:
        $flashvars = "";
        $init = true;
        for($i = 0; $i<count($vararray); $i+=1){
        if($init == true){
        $init=false;
        }
        else{
        $flashvars.=&
        }
        $flashvars.="var$i=".$value;
        }
    

    然后使用 $flashvars 字符串嵌入 flashvars 并在 flash 中运行 loaderInfo.Parameters 数组

    【讨论】:

      【解决方案4】:

      或者老实说只是使用 XML - 这可能是加载这么多变量的最佳方式。

      【讨论】:

        猜你喜欢
        • 2012-12-06
        • 1970-01-01
        • 1970-01-01
        • 2012-11-17
        • 2015-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-23
        相关资源
        最近更新 更多