browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

检测傲游浏览器的正确方法

Posted by on 2010 年 04 月 29 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

如何用 JavaScript 检测当前的浏览器是傲游(Maxthon)浏览器?在网上流传最为广泛的代码如下:

1
2
3
4
5
6
7
8
9
function IsMaxthon()
{
    try {
        window.external.max_invoke("GetHotKey");
        return true;
    } catch(e) {
        return false;
    }
}

这并不是一个好办法,因为这个 external 调用被傲游设置中心用于设置快捷键。换句话说,如果你使用了这段代码,将会得到下面的一个弹出对话框:

事实上,另一个名为 max_version 的 external 更适合这项工作,考虑如下代码:

1
2
3
4
5
6
7
8
9
function IsMaxthon()
{
    try {
        var v = window.external.max_version;
        return true;
    } catch(e) {
        return false;
    }
}

订阅本站

4 Comments

  • At 2010.05.22 10:50, Магсн said:

    js 貌似比vb易读。呵呵。

    问个问题,window.external.一共有多少函数啊?有没有sdk啊。

    • At 2010.05.22 12:18, 李马 said:

      external 是由浏览器提供的扩展,不同的浏览器所提供的扩展也不一样。

      • At 2010.05.29 14:09, 太子河 said:

        笑话,哪个浏览器还要用户自己玩这个。现在这个网站打开竟然要用三分钟,比过去慢多了,他们不去找自己的问题,竟然要客户会这个那个,合理吗?

        • At 2010.05.29 14:57, 李马 said:

          > 笑话,哪个浏览器还要用户自己玩这个。
          你用不到,并不代表所有的 web 开发者用不到。
          > 现在这个网站打开竟然要用三分钟,比过去慢多了,他们不去找自己的问题,竟然要客户会这个那个,合理吗?
          你这段发言有些语无伦次。我猜测你的意思为:
          1. 傲游浏览器打开“马说”这个网站很慢;
          2. 傲游浏览器打开任何网站都很慢;
          3. 总之都很慢,你还要求客户那么多?!
          我的回答是:
          1. “马说”这个网站的空间是由 GoDaddy 提供的,如果访问慢了,我也没办法。我经济实力有限,无法购买速度更快的主机。
          2. 可以先确认一下用 IE 浏览器是否也是这样的现象?如果 IE 的速度比傲游明显快,那么我愿帮你解决问题。
          3. 你觉得用 max_invoke(“GetHotKey”) 和 max_version 哪个更合理?

          (Required)
          (Required, will not be published)