flashjavascript(Ajax)不';你不在IE工作吗?
flashjavascript(Ajax)不';你不在IE工作吗?,javascript,jquery,ajax,flash,actionscript,Javascript,Jquery,Ajax,Flash,Actionscript,我制作了一个Flash应用程序,它使用JavaScript(Ajax)将用户的内容添加到页面中。但奇怪的是,它在IE(7或8)中不起作用。它在Chrome和FireFox中运行良好。 JavaScript函数(可能)不是问题所在,因为当我插入JavaScript:functionName(id)在我的浏览器中它可以工作。 在我的Flash中,我在按钮上使用JavaScript,代码如下: getURL("javascript:functionName(id);"); 我想,这是一个很好的使用方
我制作了一个Flash应用程序,它使用JavaScript(Ajax)将用户的内容添加到页面中。但奇怪的是,它在IE(7或8)中不起作用。它在Chrome和FireFox中运行良好。
JavaScript函数(可能)不是问题所在,因为当我插入
JavaScript:functionName(id)代码>在我的浏览器中它可以工作。
在我的Flash中,我在按钮上使用JavaScript,代码如下:
getURL("javascript:functionName(id);");
我想,这是一个很好的使用方法
但奇怪的是,Flash中没有任何东西可以工作,即使我用alert(“你好,我的朋友”)替换代码也不行代码>(也许他不是我的朋友?)
有人能帮我一下,告诉我是什么原因导致了这个问题吗?
提前谢谢 您应该使用AS与JS通信,看看这个:(这里我使用的是swfobject内置方法swfobject.getObjectById,如果您没有使用swfobject,请将此行替换为document.getElementById)
如果您使用的是AS2,则可以执行以下操作:
<script type="text/javascript">
function myFunction(id)
{
alert('hello my friend');
return 'hello my friend';
}
</script>
下面是AS2的外部接口参考页面:@nelsond8;谢谢回复!我试着阅读ExternalInterface文档,但我不太明白。你能给我解释一下吗?另外,我使用的是ActionScript2,我不知道文档是否只针对as3?谢谢。@nelsond8;另外,我的Javascript没有与Actionscript通信,相反。我还建议您使用swfObject来嵌入swffile@nelsond8,代码看起来也有点让我困惑。为什么JavaScript函数中的return语句后面会有一个alert()?返回后不会执行任何操作,对吗?而getURL(“jsReply”)将尝试导航到URL“jsReply”,我看不出这有什么好处?@Lars,是的,关于警报,你是绝对正确的,我错了。我应该在回来之前把它放好。这只是为了测试ExternalInterface.call并确保它正常工作。关于jsReply,它将导航到JS方法返回的任何字符串。我的代码没有意义,你是对的。它不应该被视为最终产品,而应该只是它应该如何工作的演示。它本身的问题并没有告诉您它应该做什么,所以我只编写了一个返回字符串的方法。
import flash.external.*;
btn.onPress = function()
{
var jsReply:String = String(ExternalInterface.call("myFunction", "01"));
getURL("jsReply");
trace(jsReply);
}