我想重定向用户到某些页面,具体取决于他们使用的浏览器,特别是如果IE浏览器,然后转到此页面,否则任何其他浏览器本页..我有一个JavaScript函数工作正常,但IE10/IE11出来后,它不再有效。使用其他代码结合起来,我想出了这个:IE10/IE11浏览器检测
function get_browser()
{
var N=navigator.appName, ua=navigator.userAgent, tem;
var M=ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
M=M? [M[1], M[2]]: [N, navigator.appVersion, '-?'];
return M[0];
}
function get_browser_version()
{
var N=navigator.appName, ua=navigator.userAgent, tem;
var M=ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
M=M? [M[1], M[2]]: [N, navigator.appVersion, '-?'];
return M[1];
}
var browser=get_browser();
var browser_version=get_browser_version();
if ((browser=="msie")
&& (version>=4))
{
if(browser=="opera"||"chrome"||"safari"||"firefox") {
location.replace("mobile_demo.php"); }
else { location.replace("full_demo.php"); }
}
但它不工作。任何帮助表示赞赏。谢谢!
正确的代码感谢尖尖的帮助:
function get_browser()
{
var N=navigator.appName, ua=navigator.userAgent, tem;
var M=ua.match(/(opera|chrome|safari|firefox|msie|trident)\/?\s*(\.?\d+(\.\d+)*)/i);
if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
M=M? [M[1], M[2]]: [N, navigator.appVersion, '-?'];
return M[0];
}
//Optional to get browser version, not needed in this case
function get_browser_version()
{
var N=navigator.appName, ua=navigator.userAgent, tem;
var M=ua.match(/(opera|chrome|safari|firefox|msie|trident)\/?\s*(\.?\d+(\.\d+)*)/i);
if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
M=M? [M[1], M[2]]: [N, navigator.appVersion, '-?'];
return M[1];
}
var browser=get_browser();
var browser_version=get_browser_version();
if (browser=="MSIE"||browser=="Trident"){
location.replace("full_demo.php"); }
else {
location.replace("mobile_demo.php"); }
请格式化您的代码,谢谢。 – iConnor
为什么要重定向IE10和IE11的用户?你试图解决什么问题? – Pointy
如果他们使用ANY IE浏览器,则转到某个页面。任何其他浏览器的另一页..谢谢! – user2665375