我正在编写一个必须检查Firefox 4或更高版本的JavaScript库。相信我,我需要。
我计划使用以下嗅探代码:
if ('MozAppearance' in document.documentElement.style) {
//We have Mozilla
if (!!window.FormData) {
//We have Firefox4+
}
}
我对此感到满意,因为对我来说似乎不太可能会添加全局FormData方法。
假设我对任何浏览器嗅探方法的常见风险感到满意,你能看到任何问题吗?
Firefox中window.FormData的文档在这里:
https://developer.mozilla.org/en/DOM/XMLHttpRequest/FormData
谢谢!
答案 0 :(得分:0)
由您来决定这是否是合理的功能检测。如果您认为对FormData
的存在进行测试就足够了;然后继续。
您也可以“增加”您检查的功能。您还可以查找window.URL
,new feature in Firefox 4:
if (!!window.FormData && !!window.URL) {
//We have Firefox4+
}
所以现在你有人宣称两个的几率更低。如果您信任您的用户足以不更改它们,您也可以让用户代理也参与进来。
答案 1 :(得分:0)
window.history.pushState是您可以检查的另一个。 我想我们可以整天使用FF4 +但不是FF3.x中的功能来完成这项工作。
答案 2 :(得分:0)
假设我对任何与之相关的通常风险感到满意 浏览器嗅探方法,你能看到任何问题吗?
它会打破他们放弃前缀的那一刻
所有-moz-
properties标记的过时都证明了这一事实
因此,请记住,您必须使用||
不断添加最新的Mozilla扩展程序。