- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图通过不查找以 IE 浏览器为中心的组件而是查找包含 firefox 或 chrome 的 navigator.userAgent 来检测浏览器是否为 IE。以下脚本在 FF 和 Chrome 中运行良好,但在 IE10 中似乎被忽略了。
var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
if (!is_firefox && !is_chrome) {
var message = "I'm an IE browser";
} else {
var message = "I'm not an IE browser";
}
最佳答案
虽然我很想加入评论中的讨论,但我真的不能。刚刚重新创建了我的帐户。所以来回答你的问题。它失败可能是有原因的,这说明了为什么测试 userAgent
是个坏主意。
如果您安装了 Chrome Frame 插件,它会将“chromeframe”添加到 userAgent
字符串,这会将 is_chrome
设置为 true
。如果我没记错的话,我的 IE 10 带有 Chrome Frame。将userAgent
字符串写入console看看。在几乎每个人的诚实意见中,使用 userAgent
只是一个坏主意,就像一般的浏览器检测一样,从长远来看可能不是最简单的。一旦您了解可以在安装附加组件时修改 userAgent
字符串并且用户可以完全更改它们,您就会意识到为您完成的工作。
如果您尝试根据用户是否拥有 IE 来阻止或提供内容,最好使用功能检测或条件注释。您可以使用它来设置一个 js 变量,然后执行任何您需要的操作。这是使用条件注释的老派方法
<html>
<head>
<!--[if ie 7]>
<script>var _ie=8;</script>
<![endif]-->
<!--[if ie 8]>
<script>var _ie=8;</script>
<![endif]-->
<!--[if ie 9]>
<script>var _ie=9;</script>
<![endif]-->
<script type="text/javascript">
if(_ie && _ie<9){
// do something here
// will not run in any other browser, because _ie is undefined
}
</script>
</head>
此解决方案的缺点是它不能在外部文件中使用,因此条件注释将出现在页面上,而检查可能出现在页面本身或外部文件中。会有错误,因为你先检查变量是否存在
在 IE 中最简单的方法是检查 ActiveXObject
,因为它是专有的,而且可能不会去任何地方。所以它很可能在未来是安全的。
<script type="text/javascript">
// test for ie
var _ie=("ActiveXObject" in window);
</script>
真的,这是通过特征检测来检测浏览器,所以它仍然符合规范,而且它简短而有趣。
也可以引用这个document
关于javascript - IE10 navigator.userAgent 脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20978748/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!