![](/img/trans.png)
[英]Javascript : Update browser Internet Explorer from 8 to 11
[英]How to avoid some javascript codes from executing if the browser is internet explorer?
我有一些JavaScript代码
var href = "demo.php";
if(href)
{
if($("#opacity")){
$("#opacity").css({
opacity: 0.5
});
}
if (document.getElementById("layer")) {
var ele = document.getElementById("layer");
ele.style.display = "block";
}
}
我想避免代码
if($("#opacity")){
$("#opacity").css({
opacity: 0.5
});
}
如果浏览器是IE8则执行..请帮助。 。 。
您可以使用jQuery.browser来检测浏览器是IE8,但它被认为是一种不好的做法:
if ($.browser.msie && $.browser.version.substr(0,1) == 8)) {
// ...
}
而不是这个,您应该使用jQuery.support ,它将告诉您是否可以使用opacity
:
如果浏览器可以正确解释不透明度样式属性,则opacity等于true。 (目前在IE中它是假的,它使用alpha过滤器代替)。 CSS3规范
if (!$.support.opacity) {
// ...
}
你可以通过检查document.all
来做到这一点(仅适用于IE)。 但这通常是一个坏主意。 您应该将样式移动到类(在IE中使用过滤器模拟不透明度),并从JS代码中设置这些类。 此外,您可以使用<!--[if IE 8]>
等有条件地为IE加载CSS文件
if(!document.all) {
if($("#opacity")){
$("#opacity").css({ opacity: 0.5 });
}
}
您可以使用导航器对象,其中包含访问者浏览器上的所有信息。
要测试导航器对象:
<div id="example"></div>
<script type="text/javascript">
txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt+= "<p>Browser Name: " + navigator.appName + "</p>";
txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt+= "<p>Platform: " + navigator.platform + "</p>";
txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";
document.getElementById("example").innerHTML=txt;
</script>
此代码是一个示例: http : //www.w3schools.com/js/js_browser.asp
使用jQuery $.browser
对象:
if (!($.browser.msie && $.browser.version.substr(0,1) == 8)) {
// this code will not execute on IE 8 but will run on other IE versions
}
if(href){
if(!($.browser.msie && $.browser.version == "8.0")){
if($("#opacity")){
$("#opacity").css({
opacity: 0.5
});
}
}
if (document.getElementById("layer")) {
var ele = document.getElementById("layer");
ele.style.display = "block";
}
}
jQuery的$ .browser应该可以做到这一点,但这是另一个解决方案
function isie() {
var ie = false,
version = 100;
if (navigator.appVersion.indexOf("MSIE") != -1) var version = parseFloat(navigator.appVersion.split("MSIE")[1]);if (version == 8) {var ie = true} return ie;
}
如果IE8返回true。
此外,jQuery css不透明度是标准化的,应该在IE8中正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.