我通过创建脚本标记并将javascript写入.innerHTML来动态加载一些.js。
我收到此错误:
SCRIPT1004: Expected ';'
develop, line 1487 character 24
这没有任何意义......所以我猜它是正确或错误地报告行号(我至少很高兴它在没有失败的情况下做到这一点...... 1487就在附近我的代码结束了。)
Firefox通常会报告正确的行,但它始终是1行。我认为IE9也会......
我该如何排除故障。我已经验证了代码通过了jshint.com,这让它更加奇怪,它期待;
。如果它是真的,Jshint会抓住这个。
几乎在IE9上盲目。
这是代码:上面有10行,下面是10行。第1487行被评论为。
/**
*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 );
每个Beat请求的代码包含top_mouse_over
/**
*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 );
}
答案 0 :(得分:4)
从浏览器中复制动态生成的代码并将其粘贴到Notepad ++中并搜索“?”看看你是否有任何unicode字符。我很确定控制台没有说实话。我之前也遇到过这个问题。
答案 1 :(得分:2)
可能与unicode无关。可能是属性onclick或其他内联脚本的缺失引用。我刚碰到这个。例如:
<button onclick="alert('hi') title="hello">Click me</button>
此错误仅在解析js时发生,并在第1行中给出错误。我发现这只会在IE中抛出脚本解析错误,而不是在Chrome中。错误是:
SCRIPT1004: Expected ';'
mypage.html, line 1 character 54
因为我使用jquery.html()将这个HTML注入到DIV中,所以它不会在页面加载时解析它并且仅在某些条件下 - 但实际上它是一个解析错误的脚本。
答案 2 :(得分:0)
最近我也遇到了与IE 11相同的问题,所以我做了以下事情来解决这个问题。