最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IE8提示Invalid procedure call or argument 異常的解決方法

 更新時間:2012年09月30日 20:56:18   作者:  
某臺機器上,訪問公司的好幾個產(chǎn)品網(wǎng)站,都拋出很多 Invalid procedure call or argument ,跟進了下,情況最后簡化為
1. 環(huán)境:
browser_info:"platform:Win32;msie;version:8.0;ie",
navigator:"appCodeName:Mozilla;appName:Microsoft Internet Explorer;appMinorVersion:Release Candidate 1;cpuClass:x86;platform:Win32;systemLanguage:zh-cn;userLanguage:zh-cn;appVersion:4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident\u002F4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729);userAgent:Mozilla\u002F4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident\u002F4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729);onLine:true;cookieEnabled:true"
2. 錯誤代碼:
復制代碼 代碼如下:

<!DOCTYPE html><html><head></head>
<body><div></div></body>
<script>
alert(document.body.querySelectorAll);
var els = document.body.querySelectorAll('div');
alert(els[2]);// 2 > els.length-1
</script>
</html>

3. 原因分析:
以上代碼中,els是一個querySelectorAll的結果。els[2]會拋異常,而不是返回undefined.

4. QWrap代碼錯誤點:在QWrap的selector里,有可能會出現(xiàn)對querySelectorAll結果取下標超界。參見以下代碼的紅色部分
復制代碼 代碼如下:

/*
* nativeQuery(refEl,sSelector): 如果有原生的querySelectorAll,并且只是簡單查詢,則調(diào)用原生的query,否則返回null.
* @param {Element} refEl 參考元素
* @param {string} sSelector selector字符串
* @returns
*/
function nativeQuery(refEl, sSelector) {
if (hasNativeQuery && /^((^|,)\s*[.\w-][.\w\s\->+~]*)+$/.test(sSelector)) {
//如果瀏覽器自帶有querySelectorAll,并且本次query的是簡單selector,則直接調(diào)用selector以加速
//部分瀏覽器不支持以">~+"開始的關系運算符
var oldId = refEl.id,
tempId,
arr = [],
els;
if (!oldId && refEl.parentNode) { //標準的querySelectorAll中的selector是相對于:root的,而不是相對于:scope的
tempId = refEl.id = '__QW_slt_' + nativeQueryStamp++;
try {
els = refEl.querySelectorAll('#' + tempId + ' ' + sSelector);
} finally {
refEl.removeAttribute('id');
}
}
else{
els = refEl.querySelectorAll(sSelector);
}
for (var i = 0, elI; elI = els[i++];) arr.push(elI);
return arr;
}
return null;
}

5. 反思:
  代碼A:for (var i = 0, len = els.length; i < len; i++) arr.push(els[i]);
  代碼B:for (var i = 0, elI; elI = els[i++];) arr.push(elI);
用“代碼B”代替“代碼A”是一種常見寫法,可是,碰到這臺機器,卻冏冏冏冏冏冏冏冏冏了。

6. 問題修復:
老老實實的改回代碼A。OK了。

7. 延伸:
“下標超界拋異常,而不是返回undefined”這個坑好冏。。。
貌似那同學的機器訪問淘寶頁面,也有類似異常拋出,不知是否是同樣原因。友情@淘寶同學一下。

相關文章

  • JavaScript 高級語法介紹

    JavaScript 高級語法介紹

    前幾天一個同事問我如下的JavaScript代碼如何理解
    2009-06-06
  • javascript實現(xiàn)的閉包簡單實例

    javascript實現(xiàn)的閉包簡單實例

    這篇文章主要介紹了javascript實現(xiàn)的閉包簡單實現(xiàn)方法,涉及javascript閉包的原理與實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 微信小程序dom操作的替代思路實例分析

    微信小程序dom操作的替代思路實例分析

    這篇文章主要介紹了微信小程序dom操作的替代思路,結合實例形式分析了微信小程序通過事件響應、動態(tài)操作元素屬性來實現(xiàn)dom操作效果,需要的朋友可以參考下
    2018-12-12
  • 前端Echarts自適應分辨率和縮放功能代碼實例

    前端Echarts自適應分辨率和縮放功能代碼實例

    ECharts提供了自適應功能,可以自動調(diào)整圖表大小以適應屏幕變化,下面這篇文章主要給大家介紹了關于前端Echarts自適應分辨率和縮放功能的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • JavaScript實現(xiàn)密碼框輸入驗證

    JavaScript實現(xiàn)密碼框輸入驗證

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)密碼框輸入驗證,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 阻止mousemove鼠標移動或touchmove觸摸移動觸發(fā)click點擊事件

    阻止mousemove鼠標移動或touchmove觸摸移動觸發(fā)click點擊事件

    這篇文章主要為大家介紹了阻止mousemove或touchmove與click事件同時觸發(fā)技巧,一個按鈕綁定了多個事件,所以就要想辦法阻止 mouse 鼠標事件或 touch 觸摸事件 與 click 事件同時觸發(fā),不然每次拖拽按鈕后都會觸發(fā) click 事件,這顯然是不友好的
    2023-06-06
  • ASP中進行HTML數(shù)據(jù)及JS數(shù)據(jù)編碼函數(shù)

    ASP中進行HTML數(shù)據(jù)及JS數(shù)據(jù)編碼函數(shù)

    在有些時候我們無法控制亂碼的出現(xiàn), 比如發(fā)送郵件的時候有些郵件顯示亂碼, 比如Ajax返回數(shù)據(jù)總是亂碼. 怎么辦?
    2009-11-11
  • js中的this作用域全解析

    js中的this作用域全解析

    這篇文章主要介紹了js中的this作用域全解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • js獲取瀏覽器的各種屬性

    js獲取瀏覽器的各種屬性

    本篇文章主要介紹了js獲取瀏覽器各種屬性的相關資料。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • 淺談JavaScript中變量和函數(shù)聲明的提升

    淺談JavaScript中變量和函數(shù)聲明的提升

    下面小編就為大家?guī)硪黄獪\談JavaScript中變量和函數(shù)聲明的提升。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08

最新評論

晋宁县| 炎陵县| 新乡县| 龙岩市| 湄潭县| 彩票| 南汇区| 清远市| 吴旗县| 永安市| 龙川县| 咸阳市| 孝感市| 会同县| 梁山县| 铁力市| 革吉县| 安塞县| 增城市| 富阳市| 綦江县| 安徽省| 阿克| 确山县| 梁山县| 洛隆县| 仙桃市| 合山市| 绥江县| 凤山县| 当涂县| 兴宁市| 柳林县| 沙洋县| 开封市| 晋中市| 淄博市| 元谋县| 邻水| 富宁县| 江达县|