针对IE 8及以下?(Targeting IE 8 and Below?)

2019-07-31 02:31发布

我有一个运行在IE 9和所有其他浏览器伟大的脚本。 但在IE 8或以下有视觉误差。 我可以通过改变IE 8和下面的一些动画效果解决这个视觉误差。 要做到这一点,我需要有我的页面上有两个脚本。 一个用于IE 9+,火狐,铬,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]-->

第一个问题和主要的一个是在尝试此,当它似乎并没有工作。 IE开始疯狂的行动和脚本不起作用proerply可言。 如果删除了第一个脚本,并把它的工作原理没有问题的第二个。 这似乎是在<!--[if !IE]><!-->不能正常工作。

第二个问题:使用<!--[if !IE]><!-->可我只针对IE 8及以下?

Answer 1:

试着这样做的HTML5样板路。 然后,只需在目标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]-->

在JavaScript:

var isIE8 = document.getElementsByClassName('lt-ie9').length;
var isIE7 = document.getElementsByClassName('lt-ie8').length;

if (isIE8) {
  ...
}

if (isIE7) {
  ...
}


文章来源: Targeting IE 8 and Below?