【问题标题】:Set text into clipboard from flashVars从 flashVars 将文本设置到剪贴板
【发布时间】:2013-03-11 08:34:39
【问题描述】:

我想做什么: 获取 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);

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

【问题讨论】:

    标签: html actionscript-3 flash actionscript actionscript-2


    【解决方案1】:

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

    1新建fla文件,保存

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

    3点击主舞台,属性面板,类类型main

    4 在带有 fla 的目录中创建 main.as(步骤 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 文件,添加行 &lt;param name="flashvars" value="foo=10" /&gt; 在参数中(两次)

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

    (注意:您无法在 Adob​​e Flash IDE 环境中测试 flashvars,只能在真实浏览器中测试)

    关于剪贴板: 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,查看剪贴板

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多