function ishostmethod(object, property)
可以像下面這樣使用這個函式:
console.log(ishostmethod(xhr, 'foo')); // false(1)、ie8 及之前的版本的 bug 之 「如果某個例項屬性與 [[enumberable]] 標記為 false 的某個原型屬性同名,那麼該例項屬性將不會出現在 for-in 迴圈中」。可以使用如下**檢測:
var hasdontenumquirk = function()};
for(var prop in o)
}return true;
}();
console.log(hasdontenumquirk);
(2)、safari3 及之前的版本的 bug 之 「列舉被隱藏的屬性」。可以使用如下**檢測:
var hasenumshadowsquirk = function()};
var count = 0;
for(var prop in o)
}return (count > 1);
}();
console.log(hasenumshadowsquirk);
使用者**字串檢測指令碼:
能用能力檢測和怪癖檢測解決的問題就不要用使用者**檢測,使用者**檢測是最後一種選擇。
使用者**檢測一般適用於以下情景:
客戶端檢測
在理想狀態下,我們會認為瀏覽器應該支援一組最常用的公共功能,但是現實時瀏覽器之間有存在差異以及特的 怪癖 quirk 因此客戶端檢測除了是一種補救措施之外,更是一種行之有效的開發策略。主要有以下三種客戶端檢測方法 1.能力檢測 在編寫 之前先檢測特定的瀏覽器的能力。例如,指令碼在呼叫某個函式之前,可...
客戶端檢測
一 客戶端檢測的原因 瀏覽器之間存在不同差別,通常需要根據不同的瀏覽器的能力分別編寫不同的 客戶端檢測除了是一種補救措施之外,更是一種行之有效的開發策略。客戶端檢測分為能力檢測 怪癖檢測 使用者 檢測。二 能力檢測 在編寫 之前先檢測特定的瀏覽器的能力,例如,指令碼在呼叫某個函式之前,可能要先檢測該...
js009 客戶端檢測
js009 客戶端檢測 本章內容 1 使用能力檢測 2 使用者 檢測的歷史 3 選擇檢測方式 一般不使用客戶端檢測。9.1能力檢測 也稱特性檢測。基本模式如下 if object.propertyinquestion 9.1.1 更可靠的能力檢測 能力檢測丟想知道某個特性是否會按照適當的方式行事非常...