2013-03-21 45 views
1

我想要做什么: 获取Flash Var,将flashVar设置为ClipBoard。
HTML:从flashVars设置文本到剪贴板

<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); 

当我打开HTML页面中有 “aaa” 输入任何文字。
什么是获得 flash var 然后将其插入剪贴板(as1,as2,as3)(我需要良好示例)的最佳方式是什么?

回答

1

您不需要等待flashvars加载并使用Event.COMPLETE。 Flashvars仅在玩家启动时放置在主类loaderInfo.parameters中。只需在主类中尝试跟踪它trace (this.loaderInfo.parameters["res"])

1创建新的FLA文件,其保存

2附加到阶段文本字段(动态),设置实例名ft1

3点击主级,在属性面板,类型main

4在目录创建main.as用FLA(步骤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文件,在PARAMS(两次)添加线路 <param name="flashvars" value="foo=10" />

在浏览器8打开HTML,享受

(注意:不能在的Adobe Flash IDE环境中测试Flash变量,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 Add按钮阶段,将其命名为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,检查剪贴板

对不起没有办法在没有用户交互的情况下“自动地”填充剪贴板。请记住:读写剪贴板是一个巨大的安全漏洞。