一個幻燈片播放器的js錯誤
js詳細報錯內容如下:
網頁錯誤詳細信息
用戶代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)
時間戳: Wed, 19 Jun 2013 01:34:36 UTC
消息: 'NTES.one(...)' 爲空或不是對象
行: 78
字符: 13
代碼: 0
URI: http://localhost:1366/QHMSW/CssJs/NewsInfo_Tab_jslib_2.x.js
在Chrome下沒事,原來在ie下也沒問題,後來出現,查了下資料說要在js腳本添加defer="true",
<script defer="true" src="JavaScript.js" type="text/javascript"/>,但是加上後還是出錯,故排除這個問題
後來看資料說應證實相應的js文件存在,提醒了我,後來改了一次播放器的css,把上下圖prev和next的按鈕去掉了,
根據提示行: 78的,果然發現第78行開始還有prev和next的腳本,屏蔽掉就OK了
t._ctrls.each(function(i){
$(this).addEvent("mouseover", t.show.bind(t, i), i);
});
t._ctrls_img.each(function(i){
$(this).addEvent("mouseover", t.show.bind(t, i), i);
});
NTES.one("> div.widget-slide-ctrl > a.widget-slide-ctrl-prev", elem).addEvent("click", function(e){
e.preventDefault();
t.show(--t.index);
}).addEvent("mouseup", function(){ this.blur(); });
NTES.one("> div.widget-slide-ctrl > a.widget-slide-ctrl-next", elem).addEvent("click", function(e){
e.preventDefault();
t.show(++t.index);
}).addEvent("mouseup", function(){ this.blur(); });
t.show(0);
總結:其實是繞了一個大圈,本來可以直接根據錯誤報告就找到錯誤位置,改正代碼,但是也學到了一些東西