gpt4 book ai didi

javascript - 基于IE文档方式加载css样式表

转载 作者:行者123 更新时间:2023-11-28 11:10:41 24 4
gpt4 key购买 nike

我正在构建一个网站,我想包含基于浏览器所处的文档模式(而不是浏览器模式)的不同版本的样式表.

例如 documentmode = ie8 我可能想加载 main_ie8.css 但如果 documentmode = ie9 我可能想加载main_ie9.css

我有很多用户在兼容模式下运行 IE9。这会将 文档模式 默认为 ie7 标准。我在 IE9 中使用以下元标记将 文档模式 强制为 IE9 标准:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

问题是 浏览器模式 仍然设置为 IE 兼容。所以用户代理仍然设置为 IE7。

由于服务器端无法确定浏览器运行的文档模式,条件注释也基于浏览器模式而不是文档模式,如何根据文档模式而不是浏览器模式加载我的css文件。

最佳答案

使用此代码检测浏览器模式和文档模式。

var j = jQuery.noConflict();
j(document).ready(function(){
/* detect usage of IE Developer Tools using different Mode for Browser and Document */
if(j.browser.msie) {
var browserVersion = j.browser.version.slice(0,j.browser.version.indexOf("."));
var documentVersion = document.documentMode;
}
}
});

向 sample.php 脚本发送 ajax 'get' 调用:

            if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//do the settings based on the response from php
/*you can echo the css file name to be picked

based
on browser mode or document mode*/
var response=xmlhttp.responseText;
}
}


xmlhttp.open("GET","http://<?php echo IP; ?>/yourapp/sample.php?mode="+,true);
xmlhttp.send();

希望对您有所帮助!

关于javascript - 基于IE文档方式加载css样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21996866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com