代码之家  ›  专栏  ›  技术社区  ›  Andrew

在IE中导致错误的externalInterface.call

  •  1
  • Andrew  · 技术社区  · 17 年前

    我有一个菜单屏幕,由于各种原因,它由许多按钮组成,作为单独的Flash电影。当点击这些电影中的一个按钮时,应该调用一个javascript函数来移动到适当的页面。它在Firefox中运行良好,但目前在IE7中失败。我手头没有IE6测试工具。 这是我在IE中得到的错误:

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

    我找不到第1行第25个字符的实际含义。我只有在单击按钮时才会得到错误,并且在安装了VisualWebDeveloper以尝试进行一些实际的调试之后,它似乎并没有实际启动调用的函数,所以似乎错误发生在实际使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 回复  |  直到 17 年前
        1
  •  1
  •   Andrew    17 年前

    结果发现我有一个对象标签的ID,这一点也不好受。

    叹息

        2
  •  0
  •   Assembler    17 年前

    在IE中,我对调试这些东西的能力非常差,所以首先我会在我的gohere中添加一个“alert()”。然后我将开始在我的javascript中放入回车,并查看出错的行是否移动,并通过演绎来计算出来。

    顺便提一句,有一个名为ietester的软件,它应该显示您的页面在IE 5.5/6/7/8RC1中的样子。