是否可以在没有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/