日期:2014-05-16  浏览次数:20390 次

JavaScript 判断 Chrome 内核的 360 浏览器(关闭页面并提示)

(原因:大家肯定会发现360浏览器在很多web项目上面会存在一定的问题,不管是用“兼容模式”还是“急速模式”,都可能还会存在问题。但是因为很多用户都装了360杀毒软件,基本上都是在不知情的情况下安装的360浏览器等东西,所以就让一些Asp.net项目运行起来有这样活着那样的问题。在尝试过各种浏览器后发现,还是IE8和Google浏览器比较好用,相对来说最稳定。这里说下,IE11是绝对的有问题,大家用过后就会明白了,这里不多说了。所以我就找了各种办法,想让用户打开系统的登陆界面的时候就提示建议不使用360浏览器,之前搞过cs的结束指定进程的东东,方法也比较多,但是BS还是差别很大,最终在一位大神那了解一些知识,找到一个暂时的方案提供给大家,不保证这个方法能用多久,毕竟360不一定哪天又升级浏览器了就屏蔽这个问题了。这里用的是JS判断用户使用的浏览器是什么,如果是360就提示用户并关闭标签,不是关闭浏览器,这样还不影响用户使用,比较友好,总结起来就是一句话,我允许你用360浏览器,但是如果用我们的系统想稳定性比较好的话,还是用IE和别的浏览器吧。这里也是不是办法的办法,最终还是要解决各种浏览器的兼容性问题啊,要不断学习研究啊!)

PS:这里说明的是“360安全浏览器”,不是“360急速浏览器”,比较大家基本上用的都是“360安全浏览器”;

1.判断方法:,360 浏览器插件描述是“Adobe Flash movie”,而 Chrome 浏览器的插件描述是“Shockwave Flash”;

2.js代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="结束进程2.aspx.cs" Inherits="Asp.net学习库.结束进程2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content ="text/html;charset=utf-8"; />
<%--判断 Chrome 内核的 360 浏览器--%>
<SCRIPT LANGUAGE="JavaScript"> 
function isChrome360() {
    if( navigator.userAgent.toLowerCase().indexOf('chrome') > -1 ) {
        var desc = navigator.mimeTypes['application/x-shockwave-flash'].description.toLowerCase();
        if (desc.indexOf('adobe') > -1) {
        alert("禁止使用360浏览器!请使用IE8或者Google浏览器,页面即将关闭!")
            window.close();
             return true;           
        }
    }
    return false;
}
alert(isChrome360());
</script>
</head>
<body>
</body>
</html>