有没有办法为特定浏览器加载不同的 CSS 文件?
就像(糟糕的伪代码):
if firefox
<link rel="stylesheet" type="text/css" href="includes/MyCssFirefox.css" />
if chrome
<link rel="stylesheet" type="text/css" href="includes/MyCssChrome.css" />
if Safari
<link rel="stylesheet" type="text/css" href="includes/MyCssSafari.css" />
您想要的理想解决方案不存在:
不幸的是,如果您尝试在 HTML 本身上执行此操作,则不存在跨浏览器解决方案。但是,它适用于大多数版本的 IE。像这样:
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="includes/myIEGeneralStyle.css" />
<![endif]-->
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="includes/myIE6Style.css" />
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="includes/myIE7Style.css" />
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="includes/myIE8Style.css" />
<![endif]-->
所以最好的解决方案:
像这样的 Javascript 解决方案怎么样:浏览器检测 http://www.quirksmode.org/js/detect.html。阅读一些有关此类的信息以更好地澄清,该文件基本上所做的只是这样的概念:
var browser = navigator.userAgent.toLowerCase().indexOf('chrome') > -1 ? 'chrome' : 'other';
显然,它的作用不仅仅是检测浏览器类型。事实上,它知道版本、操作系统以及您可以在该链接中阅读的更多详细信息。但是,它确实通过将“chrome”替换为“mozilla”、“explorer”等来检查所有类型的浏览器...
然后要添加 css 文件,只需遵循如下条件语句即可:
if (BrowserDetect.browser.indexOf("chrome")>-1) {
document.write('<'+'link rel="stylesheet" href="../component/chromeCSSStyles.css" />');
} else if (BrowserDetect.browser.indexOf("mozilla")>-1) {
document.write('<'+'link rel="stylesheet" href="../component/mozillaStyles.css" />');
} else if (BrowserDetect.browser.indexOf("explorer")>-1) {
document.write('<'+'link rel="stylesheet" href="../component/explorerStyles.css" />');
}
祝你好运,希望这能帮到你!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)