- jQuery似乎会向您页面的DOM添加临时对象以检测某些功能,
- YUI2在其
YAHOO.env.ua = function()
中对用户代理进行正则表达式匹配(文件yahoo.js
)。
<!--[if IE]><script type="text/javascript">window['isIE'] = true;</script><![endif]-->
<script type="text/javascript" src="all-your-other-scripts-here.js"></script>
现在,通过简单的操作:
window.isIE
变量已经为我们所有的 JavaScript 代码设置好了。
if(window.isIE)
...
除了需要在所有页面中添加这个功能可能会很麻烦之外,还有我可能不知道的任何问题/考虑因素吗?
提醒您:我知道使用对象检测而不是浏览器检测更好,但仍有一些情况需要使用浏览器检测。
document.createElement
创建并在函数返回后被丢弃(因为它只被分配给一个局部变量)。我刚刚在函数执行后测试了document.getElementsByTagName('div').length
(在 IE 和 Firefox 中),它返回了我的文档中 div 的正确数量。 - Marcel Korpel