[英]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.