1

我有一个菜单屏幕,由于各种原因,它包含许多按钮作为单独的 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 在同一个项目的其他部分工作,并且在我的一生中看不到它的实施方式有任何差异。

想法?

4

2 回答 2

1

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

于 2009-05-27T01:43:44.037 回答
0

我在 IE 中调试这些东西更糟糕,所以对于初学者,我会在我的 gohere 中放置一个“alert()”。然后我会开始在我的 javascript 中输入回车,看看有错误的行是否移动,然后通过推导找出来。

顺便说一句,有一个名为 IETester 的软件,它应该向您展示您的页面在 IE 5.5/6/7/8RC1 中的外观。

于 2009-05-25T01:34:04.770 回答