javascript - Javascript 和 Flash/ActionScript 之间的交互无需外部接口(interface)?

标签 javascript flash actionscript-3 greasemonkey

是否可以在没有ExternalInterface的情况下使用Javascript单击/获取ActionScript值/操作?

GreaseMonkey 是如何工作的?我可以使用 GreaseMonkey 做到这一点吗?

最佳答案

怎么样

swf=document.embeds[0];//or 1 or 2 etc
swfvar1=swf.GetVariable("swfvariable");
swfvar2="something";
swf.SetVariable("swfvariable",swfvar2);

它的 GetVariable("swfvar"); 将 var 名称作为字符串 和 SetVariable("swfvar",jsval); swfvar 名称为字符串,js 值为您想要的任何值

执行函数有两种方式 1. 将上面的代码与 var swf 一起使用, swf.SwfFunc(参数); 简单吧?是的。

2.再次使用上面的代码 swf.GetVariable("SwfFunc(params)"); 因为它获取了函数的值,所以它会执行所有函数来寻找返回值,如果参数因重叠引号而很难看,则可能会很糟糕,因为调用中已经有引号

就我个人而言,我喜欢方法 2,因为它也可以用于其他目的,例如执行代码。像这样

swf.GetVariable("
function(){
//whatever
}");

我发现这非常有用,但请记住您必须转义该函数中的引号 它实际上就像注入(inject)一个 eval 语句,但更好

关于javascript - Javascript 和 Flash/ActionScript 之间的交互无需外部接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4447025/

相关文章:

flash - 如何在AS3中修改运动跟踪

actionscript-3 - flex 4.6统计sqlite表中的行

actionscript-3 - 物理恢复公式中的数学错误

javascript - 使用 Javascript 获取 future 日期

javascript - VueJS 中的秒到分钟

javascript - 在 Javascript 中 trim 字符串

javascript - 无法将此主题与 preg_match 匹配

flash - 是否有适用于 Flash Player 9 本地共享对象的好的 .sol 编辑器?我们可以建一个吗?

javascript - 如何将现有播客嵌入到我的网站中?

flash - 我应该在删除自定义对象之前删除监听器吗?