【发布时间】:2011-11-03 22:29:32
【问题描述】:
我正在编写一个必须检查 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
谢谢!
【问题讨论】:
-
但是为什么您需要检查 Firefox 4 或更高版本?您可能(但不太可能)没有考虑过更好的方法。
-
我很想知道为什么是FF4?!
-
我正在编写一个带有 Window.FormData 方法的浏览器......只是为了解决这个问题。想我会把它命名为“NOT FF4”。吸引人,不是吗?
-
“为什么”并不重要。这是题外话,但因为我知道你们不能休息,直到你知道为什么......在这里。这个库支持的插件对象需要在 Mac 上的 FF4+ 中进行 DOM 操作,因为这个插件所依赖的 FF 代码发生了变化。这是现实世界的肮脏,但事实就是如此。如果您从来没有闻过并且您认为“一定有更好的方法”,请告诉我。我想我们都同意上述方法比针对 navigator.userAgent 测试正则表达式更好,对吧?
标签: javascript firefox4 browser-detection