1

我想做的事:获取 Flash Var,将 flashVar 设置为剪贴板。
html:

<embed src="setClip.swf" FlashVars="res=123" quality="high" TYPE="application/x-shockwave-flash">

动作脚本(3):

function loaderComplete(myEvent:Event)
{
   this.flashVars=this.loaderInfo.parameters;
   this.flashVarsLoaded=true;
   this.useFlashVars();
}
function useFlashVars()
{
        aaa.text = myFlashVars.res;
}
var myFlashVars=new Object();
myFlashVars.flashVarsLoaded=false;
myFlashVars.loaderComplete=loaderComplete;
myFlashVars.useFlashVars=useFlashVars;
this.loaderInfo.addEventListener(Event.COMPLETE, myFlashVars.loaderComplete);

aaa当我打开 html 页面时,“ ”输入中没有文本。获取flash var然后将其插入剪贴板(as1、as2、as3)
的最佳方法是什么(我需要好的示例)?

4

1 回答 1

1

您无需等待 flashvars 加载并使用 Event.COMPLETE。Flashvars 在播放器启动时位于主类 loaderInfo.parameters 中。只需尝试trace (this.loaderInfo.parameters["res"])在主类中跟踪它。

1 新建fla文件,保存

2 添加到舞台文本字段(动态),设置实例名称ft1

3 单击主阶段,在属性面板中,类类型main

4main.as使用 fla 在 dir 中创建(步骤 1)

5个主要为:

package  {

    import flash.display.MovieClip;
    public class main extends MovieClip {
        public function main() {
            tf1.text = this.loaderInfo.parameters["foo"];
        }
    }
}

6 文件->发布

7 转到目录(步骤 1),打开 .html 文件, <param name="flashvars" value="foo=10" /> 在参数中添加行(两次)

8 在浏览器中打开 HTML,尽情享受

(注意:你不能在 Adob​​e Flash IDE 环境中测试 flashvars,olny 在真实浏览器中)

关于剪贴板: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/System.html#setClipboard() This method works from any security context when called as a result of a user event (such as a keyboard or input device event handler).

9 添加按钮到舞台,命名btn

10 main.as:

package  {
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.system.System;

    public class main extends MovieClip {
        public function main() {
            tf1.text = loaderInfo.parameters["foo"];
            btn.addEventListener(MouseEvent.CLICK, onClickHandler);
        }

        private function onClickHandler(e:MouseEvent):void {
            System.setClipboard(loaderInfo.parameters["foo"]);
        }
    }
}

11 编译.fla,在浏览器中打开HTML,点击btn,查看剪贴板

抱歉,没有用户交互,无法“自动”填充剪贴板。请记住:读取和写入剪贴板是一个巨大的安全漏洞。

于 2013-03-21T17:34:21.947 回答