ExternalInterface.call在IE中导致错误

时间:2009-05-25 01:10:05

标签: javascript flash internet-explorer actionscript externalinterface

我有一个菜单屏幕,由于各种原因,它包含许多按钮作为单独的Flash电影。当单击这些电影中的按钮时,应调用javascript函数以移动到适当的页面。它在firefox中工作正常,但目前在IE7中失败了。我没有IE6方便测试。 这是我在IE中遇到的错误:

Line:1
Char:25
Error: Expected ';'
Code:0

我无法找到第1行的char 25实际意味着什么。我只是在单击按钮时出现错误,并且在安装Visual Web Developer以尝试进行实际调试之后,它似乎并没有实际触发调用的函数,因此看起来错误发生在什么机制实际上使ExternalInterface.call工作?

flash电影上的代码实际上只是:

ExternalInterface.call('gohere',skip_id);

其中skip_id作为flashvar传递到电影中 - 它似乎获得了一个感性值,因为我可以将它打印到flash电影内的文本字段中。 javascript函数同样复杂:

function gohere(i){
    lo.skipto(i);
}

但正如我所说,如果我在此处设置断点并进行调试,它甚至都不会显示出来。如果我在html屏幕中输入一个javascript:gohere('id')链接并单击它就可以了。 我有ExternalInterface.call在同一个项目的其他部分工作,并且不能在我的生活中看到它的实现方式有任何差异。

想法?

2 个答案:

答案 0 :(得分:1)

原来我有一个 - 在对象标签的ID中,IE根本不需要它。

叹息

答案 1 :(得分:0)

我在调试这些类型的东西时非常糟糕,所以对于初学者来说,我会把“警报()”放在我的脸上。然后我会开始在我的javascript中放回车,并查看带错误的行是否移动,并通过扣除来计算出来。

另外,有一个名为IETester的软件,它应该向您显示您的页面在IE 5.5 / 6/7 / 8RC1中的样子。