Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript和Flash/ActionScript之间没有外部接口的交互?_Javascript_Flash_Actionscript 3_Greasemonkey - Fatal编程技术网

Javascript和Flash/ActionScript之间没有外部接口的交互?

Javascript和Flash/ActionScript之间没有外部接口的交互?,javascript,flash,actionscript-3,greasemonkey,Javascript,Flash,Actionscript 3,Greasemonkey,是否可以在没有外部接口的情况下使用Javascript单击/获取ActionScript值/操作 这就是GreaseMonkey的工作原理吗?我可以用GreaseMonkey实现吗?在javascript中实现LocalConnection或NetStream直接连接(用于使用send()方法)是相当困难的, 另一种方法是使用一些东西作为缓冲区,SWF和javascript会在每次特定时间检查这些缓冲区。一个简单的php脚本将是一个很好的缓冲区,也可能这些数据可以在 还有一个有趣的想法:你可以

是否可以在没有外部接口的情况下使用Javascript单击/获取ActionScript值/操作


这就是GreaseMonkey的工作原理吗?我可以用GreaseMonkey实现吗?

在javascript中实现
LocalConnection
NetStream
直接连接(用于使用
send()
方法)是相当困难的,

另一种方法是使用一些东西作为缓冲区,SWF和javascript会在每次特定时间检查这些缓冲区。一个简单的php脚本将是一个很好的缓冲区,也可能这些数据可以在


还有一个有趣的想法:你可以开发一个SWF messenger,每当你需要将消息传递给flash时,它都会被加载。消息作为get变量传递给messenger,它将使用主swf创建一个
LocalConnection
,并在那里传递数据。但是从flash调用js的唯一方法是
navigateToURL
或者
sendToURL

怎么样

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.再次使用上面的代码 GetVariable(“SwfFunc(params)”); 由于它获取函数的值,所以它执行所有函数以查找返回值,如果参数使用重叠的引号,则可能不好,因为调用中已经有引号

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

swf.GetVariable("
function(){
//whatever
}");
我发现这非常有用,但请记住,您必须在该函数中转义引号
这实际上就像注入一个eval语句,但更好的是

几乎可以肯定你不能,但是你可以使用其他接口来创建宏来与flash交互,谷歌的“addon macros firefox flash”或类似的东西,但是那些开发hack flash游戏的人是如何注入代码的呢?看这个。我无法理解这个部分var swf=document.embeddes[0]| |$(“flashcontent”)| | single(//object[contains(@data,.swf')]);unsafeWindow.game=swf;var actions=single(“//div[@class='game_actions']”)| | single(//div[@class='channeHolder']))|$(“header”)|$(“content”)| | document.body;