我一直在练习使用bootstrap 4,因为你可能知道bootstrap 4现在不支持Internet Explorer 8。这可能会成为一个问题,所以我想知道我是否可以在Internet Explorer 8上显示不同的网站,或者是否有办法在不同的浏览器上更改某些内容。
答案 0 :(得分:0)
您可以尝试使用首选的服务器端语言检测User-Agent,也可以通过navigator.userAgent
属性使用JavaScript。
然而,仅为IE8维护您网站的整个副本似乎有点矫枉过正 - 实际上,我甚至不建议为支持IE8付出额外的努力。但是,对于一般用途,这里有如何定位不同的IE版本并处理不支持的功能:
幸运的是,IE支持conditional comments,因此您可以根据IE版本使用这些资源来包含不同的资源:
<!--[if lt IE 9]>
<link rel="stylesheet" href="url/to/ie8/stylesheet">
<!--<![endif]-->
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="url/to/bootstrap">
<!--<![endif]-->
如果仔细观察,可以看到最后一个[if ...]
语句立即关闭,其内容未嵌入评论中。由于只有IE理解条件评论,其他浏览器才会忽略它并在最后if
(实际上未被注释掉的那个)中呈现您的内容。
语法相当丑陋,但它是仅针对IE版本的最简单方法。
如果您需要确保您在网站上使用的代码适用于所有浏览器,则只需简单地列出您将要使用的浏览器功能列表,并检查它们是否可用尝试为每个古怪的浏览器制作不同的版本。看看feature detection和polyfills的想法,它们可能是未来解决此问题的更好方法。
希望这有帮助!
答案 1 :(得分:-2)
1. if browser = opera(example) (check user agent)=> redirect to other website(other page or host!)
2. if browser = opera => render other template
见:
//check is IE :
if (preg_match('/MSIE\s(?P<v>\d+)/i', @$_SERVER['HTTP_USER_AGENT'], $B) && $B['v'] <= 8) {
// Browsers IE 8 and below
} else {
// All other browsers
}