首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE9报告缺少存在的分号

IE9报告缺少存在的分号
EN

Stack Overflow用户
提问于 2012-07-14 00:46:54
回答 3查看 6.2K关注 0票数 2

我通过创建一个.js标记并将javascript写到它的.innerHTML中来动态加载一些脚本。

我得到了这个错误:

代码语言:javascript
复制
SCRIPT1004: Expected ';' 
develop, line 1487 character 24

这没有sense...so我猜它报告的行号是正确的还是错误的(我至少很高兴它走到了这一步而没有失败...1487接近我的代码的末尾)。

Firefox通常会报告正确的行,但总是偏离一行。我以为IE9也会..。

如何进行故障排除。我已经验证了代码通过了jshint.com,这使得它更奇怪的是它需要一个;。如果这是真的,Jshint会捕捉到的。

在IE9上几乎是盲目的。

代码如下: w/ 10行在上面,10行在下面。1487行就是这样注释的。

代码语言:javascript
复制
    /**
     *Publik
     */

    var publik = {};
    publik.initMenu = function( )
    {
        top_element = document.getElementById( 'top_new' ); 
        bottom_element = document.getElementById( 'wrap_drop_down_new' );
        top_element.addEventListener( "mouseout", mouse_out, false ); 
        top_element.addEventListener( "mouseover", top_mouse_over, false ); // Line 1487
        bottom_element.addEventListener( "mouseout", mouse_out, false ); 
        bottom_element.addEventListener( "mouseover", bottom_mouse_over, false ); 
    };
    return publik;

}());
/*  Use this to create Event on completion of .js and remove cStart().

    var event_load_js = document.createEvent("HTMLEvents");
    event_load_js.initEvent( "blur", true, false );

包含每个节拍请求的top_mouse_over的代码

代码语言:javascript
复制
/**
 *MMenu
 */

var MMenu = ( function () 
{
    /**
     *Private
     */

    var top_element,
        bottom_element,
        time_out_id = 0,
        TIME_DELAY = 1000;

    function showBottom()
    {
        top_element.style.border = '1px solid #cfcaca';
        top_element.style.borderBottom = '3px solid #cfcaca';
        bottom_element.style.visibility = 'visible';
    }
    function hideBottom()
    {
        top_element.style.border = '1px solid #faf7f7';
        bottom_element.style.visibility = 'hidden';
    }
    function top_mouse_over()
    {
        window.clearTimeout( time_out_id );
        showBottom();
    }
    function bottom_mouse_over()
    {
        window.clearTimeout( time_out_id );
    }
    function mouse_out()
    {
        time_out_id = window.setTimeout( hideBottom, TIME_DELAY );
    }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-14 01:14:41

从浏览器复制动态生成的代码并将其粘贴到Notepad++中,然后搜索"?“看看你是否有任何unicode字符。我很确定控制台没有说实话。我以前也遇到过这种情况。

请参阅:https://stackoverflow.com/a/9246128/1220302

票数 4
EN

Stack Overflow用户

发布于 2013-08-26 10:56:18

可能与unicode无关。可能是属性onclick或其他内联脚本上缺少的引号。我刚碰到这个。示例:

代码语言:javascript
复制
<button onclick="alert('hi') title="hello">Click me</button>

此错误仅在解析js时发生,并在第1行给出错误。我发现这只在IE中抛出了脚本解析错误,而不是在Chrome中。错误是:

代码语言:javascript
复制
SCRIPT1004: Expected ';' 
mypage.html, line 1 character 54

因为我使用jquery.html()将这个超文本标记语言注入到DIV中,所以它不会在页面加载时解析它,而且只有在某些情况下才会解析它-但实际上这是一个脚本解析错误。

票数 2
EN

Stack Overflow用户

发布于 2017-04-24 13:14:41

最近我在IE 11上也遇到了同样的问题,所以我做了以下事情来解决这个问题。

  1. 通过按‘F12’在IE浏览器中打开控制台窗口
  2. 请将IE版本更改为11,而不是从仿真选项卡的文档模式或右侧顶部的旧版本(< IE11),将有一个具有不同的IE

的下拉列表将自动重新加载当我们更改IE版本

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11474812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档