L84*_*L84 5 javascript internet-explorer internet-explorer-8
我有一个在IE 9+和所有其他浏览器中运行良好的脚本.但在IE 8或更低版本中存在视觉错误.我可以通过更改IE 8及更低版本的一些动画效果来修复此视觉错误.要做到这一点,我需要在我的页面上有两个脚本.一个用于IE 9 +,Firefox,Chrome,Safari,另一个用于IE 8及更低版本.
这是我尝试过的:
// First the Script that runs for non-IE browsers.
<!--[if !IE]>
<script type="text/javascript">
// Script that runs
</script>
<![endif]-->
// Now for the Script for IE 8
<!--[if lt IE 9]>
<script type="text/javascript">
// Script that runs
</script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
第一个问题,主要问题是在尝试时它似乎不起作用.IE开始表现得很疯狂,脚本根本不起作用.如果我删除第一个脚本并离开第二个脚本它没有问题.看起来似乎<!--[if !IE]><!-->没有正常工作.
第二个问题:使用<!--[if !IE]><!-->我可以只针对IE 8及以下版本?
尝试使用HTML5 Boilerplate方式.然后在JS和CSS中按类定位IE版本.
用<html>以下内容替换开始标记.根据您的需求调整:
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)
在JavaScript中:
var isIE8 = document.getElementsByClassName('lt-ie9').length;
var isIE7 = document.getElementsByClassName('lt-ie8').length;
if (isIE8) {
...
}
if (isIE7) {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1352 次 |
| 最近记录: |