Javascript 判断 IE 版本,实现插入不同的 Style 标签和样式
由于 IE 浏览器的兼容性问题,IE 10 以下的版本会出现兼容性问题,有时需要编写不同的样式来达到兼容的效果,
下面的代码可以实现判断 IE 版本号,并根据不同版本插入 Style CSS
<script>
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
if(isIE) {
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
if (fIEVersion < 10) {
var css = '.menu_item li:hover > ul,.menu_item ul li:hover > ul,.menu_item .focus > ul,.menu_item .focus > ul{clip:inherit;overflow:inherit;height:inherit;width:inherit;}',
head = document.head || document.getElementsByTagName('head')[0],
style = document.createElement('style');
head.appendChild(style);
style.type = 'text/css';
if (style.styleSheet) {
// This is required for IE8 and below.
style.styleSheet.cssText = css;
}
else {
style.appendChild(document.createTextNode(css));
}
}
else {
$(document).ready(function () {
$(document).click(function() {
$(".menu_item>.menu-item-has-children>a").removeAttr("href");
var nav = $("#" + $(this).attr("id") + " .sub-menu");
nav.css('clip', '');
var nav_sub_menu = $(".sub-menu");
nav_sub_menu.css('clip', '');
$(".menu_item").css('cursor', 'pointer');
});
$(".menu_item .menu-item-has-children").click(function(event) {
event.stopPropagation();
$(".menu_item>.menu-item-has-children>a").removeAttr("href");
var nav = $("#" + $(this).attr("id") + " .sub-menu"); if (nav.css('clip') == 'inherit' || nav.css('clip') == 'auto') {
nav.css('clip', '');
}
else {
var nav_sub_menu = $(".sub-menu");
nav_sub_menu.css('clip', '');
nav.css('clip', 'inherit');
}
$(".menu_item").css('cursor', 'pointer');
});
});
}
}</script>
Javascript 判断 IE 版本,实现插入不同的 Style 标签和样式的更多相关文章
- JavaScript判断IE版本
判断IE兼容到IE11 IE浏览器与非IE浏览器的区别是IE浏览器支持ActiveXObject,但是非IE浏览器不支持ActiveXObject.在IE11浏览器还没出现的时候我们判断IE和非IE经 ...
- [JS]JavaScript判断操作系统版本
function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform == " ...
- javascript判断浏览器的版本
在javascript中直接的使用navigator.userAgent就可以获取当前浏览器的版本等信息,以下是列出来的关于不同浏览器显示的值(Windows.Android.iPhone): IE6 ...
- JavaScript判断浏览器类型及版本
JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一 ...
- (转)JavaScript判断浏览器类型及版本
IE 只有IE支持创建ActiveX控件,因此她有一个其他浏览器没有的东西,就是ActiveXObject函数.只要判断window对象存在ActiveXObject函数,就可以明确判断出当前浏览器是 ...
- 通过JavaScript判断当前浏览器版本
从别人处拷贝,只用于自己学习之用.参考源自:http://www.cnblogs.com/leadzen/archive/2008/09/06/1285764.html JavaScript是前端开发 ...
- javascript判断手机浏览器版本信息
<script type="text/javascript"> /* * 智能机浏览器版本信息: * */ var browser={ versions:functio ...
- JavaScript判断移动端及pc端访问不同的网站
JavaScript判断移动端及pc端访问不同的网站 现在很多网站都是分为两个版本,一个pc端的一个移动端的(响应式除外),针对这两个版本,就需要对访问的设备进行判断,如果是pc,就直接访问pc网站, ...
- HMTL判断ie版本
html判断IE版本 1. <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> 2. <!--[if IE]> ...
- html判断IE版本
html判断IE版本 . <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> . <!--[if IE]> ...
随机推荐
- iStore实现 SmartDNS + AdGuard Home IP优选+广告屏蔽
iStore实现 SmartDNS + AdGuard Home IP优选+广告屏蔽 参考自openwrt 官方版 安装配置 AdGuard Home + smartdns 告别广告烦扰 教程 软路由 ...
- Chocolate
提供一种比较清新的做法. 思路:贪心. 思考:如果在巧克力上横向切一刀,那么纵向要切的刀数就会加一.如果在巧克力上纵向切一刀,那么横向要切的刀数就会加一. 结论:要先切代价大的,再切代价小的. 做法: ...
- 阿里微服务解决方案-Alibaba Cloud之负载均衡(Feign)(五)
一.基于 Feign 的负载均衡 OpenFeign 提供的负载均衡很简单,只需要将相同服务的名称保持一致,并在 Feign Client 的Service中指定名称即可. 例如:希望将端口号8000 ...
- USB工程应用基础概念简介
USB 是一种串行传输总线,使用差分信号传输数据,USB 设备支持热插拔. USB 规格及接口 USB 传输速率 USB 标准的不同版本有不同的传输速率和电压电流特性. 标准版本 发布日期 速率代码 ...
- Just:告别 Makefile 的现代命令行任务运行器
本文推荐的一个轻量级命令行工具--Just,它提供了一种简单高效的方式来管理项目任务,类似于传统的 Make 工具,但具有更简洁的语法和更现代化的功能. 我目前在一些小项目中开始使用它来管理一些日常的 ...
- SM30里DEC数据显示0
需求:DEC数据在维护的时候显示0 1,设置数据元素对于的域带转换历程. 2,写转换历程函数(注意两个历程的输入和输出类型,这个需要修改) FUNCTION conversion_exit_zdays ...
- hot100之二分查找
搜索插入位置(035) class Solution { public int searchInsert(int[] nums, int target) { int n = nums.length; ...
- 状态机DP
简介 简单来说就是从一个状态变成另一个状态的路径 感觉还是挺新颖的. 714 https://leetcode-cn.com/problems/best-time-to-buy-and-sell-st ...
- FRP 各种操作系统的接口
简介 类似于TeamViewer之类,而更好的用内网穿透的东西. 参考链接 https://zhuanlan.zhihu.com/p/79793246
- ICEE-MOS+BJT: 场效应管和三极管的比较
场效应管是在三极管的基础上而开发出来的. 三极管通过电流的大小控制输出,输入要消耗功率. 场效应管是通过输入电压控制输出,不消耗功率. 场效应管和三极管的区别是电压和电流控制,但这都是比较的. 电压控 ...