Javascript 如果用户正在使用Twitter引导不支持的浏览器,如何显示div
我正在建立一个网站,它已经放弃了对IE7和更旧版本以及Firefox 3.6和更旧版本浏览器的支持。我对此没有问题,但我正在寻找一个简单的脚本来显示一个div,并显示一条警告消息,告诉我网站的访问者为什么在他们的旧浏览器中看起来很奇怪 我发现这是有用的,除了它显示一个预定义的消息,而我想定制一个div来显示,以更好地适应我的网站的主题Javascript 如果用户正在使用Twitter引导不支持的浏览器,如何显示div,javascript,css,twitter-bootstrap,Javascript,Css,Twitter Bootstrap,我正在建立一个网站,它已经放弃了对IE7和更旧版本以及Firefox 3.6和更旧版本浏览器的支持。我对此没有问题,但我正在寻找一个简单的脚本来显示一个div,并显示一条警告消息,告诉我网站的访问者为什么在他们的旧浏览器中看起来很奇怪 我发现这是有用的,除了它显示一个预定义的消息,而我想定制一个div来显示,以更好地适应我的网站的主题 与其重新发明轮子,还有人知道一个简单的脚本来实现这一点吗?您可以使用链接的脚本轻松自定义信息框的样式和布局。看看 如果需要更多自定义,可以使用上提供的脚本 在页面
与其重新发明轮子,还有人知道一个简单的脚本来实现这一点吗?您可以使用链接的脚本轻松自定义信息框的样式和布局。看看 如果需要更多自定义,可以使用上提供的脚本 在页面加载完毕->文档准备就绪后,只需将整个脚本复制到js文件中即可
var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
this.version = this.searchVersion(navigator.userAgent)
|| this.searchVersion(navigator.appVersion)
|| "an unknown version";
this.OS = this.searchString(this.dataOS) || "an unknown OS";
},
searchString: function (data) {
for (var i=0;i<data.length;i++) {
var dataString = data[i].string;
var dataProp = data[i].prop;
this.versionSearchString = data[i].versionSearch || data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) != -1)
return data[i].identity;
}
else if (dataProp)
return data[i].identity;
}
},
searchVersion: function (dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index == -1) return;
return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
},
dataBrowser: [
{
string: navigator.userAgent,
subString: "Chrome",
identity: "Chrome"
},
{ string: navigator.userAgent,
subString: "OmniWeb",
versionSearch: "OmniWeb/",
identity: "OmniWeb"
},
{
string: navigator.vendor,
subString: "Apple",
identity: "Safari",
versionSearch: "Version"
},
{
prop: window.opera,
identity: "Opera",
versionSearch: "Version"
},
{
string: navigator.vendor,
subString: "iCab",
identity: "iCab"
},
{
string: navigator.vendor,
subString: "KDE",
identity: "Konqueror"
},
{
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
},
{
string: navigator.vendor,
subString: "Camino",
identity: "Camino"
},
{ // for newer Netscapes (6+)
string: navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
},
{
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
},
{
string: navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
},
{ // for older Netscapes (4-)
string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}
],
dataOS : [
{
string: navigator.platform,
subString: "Win",
identity: "Windows"
},
{
string: navigator.platform,
subString: "Mac",
identity: "Mac"
},
{
string: navigator.userAgent,
subString: "iPhone",
identity: "iPhone/iPod"
},
{
string: navigator.platform,
subString: "Linux",
identity: "Linux"
}
]
};
BrowserDetect.init();
之后,您可以使用BrowserDetect.Browser和BrowserDetect.version轻松获取浏览器和版本,然后使用jQuery隐藏或显示信息框,因为它已经在引导中使用了这应该可以工作。
另请参见本帖:
TJL您可以在IE中使用,它足够干净且非常简单。对于Firefox来说,你必须使用一点JavaScript来获取浏览器的版本,或者基于仅在3.6和OLDFirefox 3.6中的一个特性来进行一些功能检测,这仅仅是2013年6月使用的浏览器,所以你可能会考虑忽略3.6,如果要花大量的精力来显示消息,而不是只看到浏览器,您应该测试所有功能,以及用户浏览器是否支持这些功能。但由于它是引导式的,而且他们说它不再适用于IE7,我想只测试IE7或以下版本将是一个简单但很好的解决方案。虽然这不能解决Firefox问题,但IE用户数量远远超过他们,这是一个非常优雅的解决方案。谢谢
<!--[if lt IE 7]>
<p>Please use a modern browser!!!</p>
<![endif]-->