检测网站是否通过Opera Mini等代理服务器提供服务?

问题描述:

许多功能手机使用Opera Miniserve网页。同样,Kindle Fire使用Amazon Silk。有没有一种方法可以在JavaScript中检测到没有UA检测的情况下使用代理?检测网站是否通过Opera Mini等代理服务器提供服务?

+0

JavaScript在服务器端还是在客户端? – icktoofay 2012-04-19 05:30:55

+0

@icktoofay在客户端。 – ryanve 2012-04-19 05:32:51

在Opera Mini的案例中:没有。 JavaScript实际上将由“代理服务器”执行,而不是由真正的客户端执行。

+1

有一个直接的方法来检测歌剧迷你'var isOperaMini = Object.prototype.toString.call(window.operamini)===“[object OperaMini]”'(http://dev.opera.com/articles/查看/歌剧迷你和JavaScript的/) – Goje87 2013-02-13 17:07:43

+0

嗯,是的 - 你可以检测到“Opera迷你”被使用,但这不是问题的要求。 – hallvors 2013-02-14 13:05:53

我的假设是,这种基于云的浏览器不能支持事件子集。为了检测这样的浏览器,我正在使用javascript测试来检查对事件scroll的支持。

var cloudBrowser = ('onscroll' in window?false:true); 

我能够在我的android(Samsung Galaxy Note 2)上以及在诺基亚C2-03浏览器上的opera mini上成功找到这个工作。 (由于我没有设备,我无法检查Amazon Silk是否有此问题)。

如果您知道任何其他适用于Android的云浏览器,我可以下载并扩展测试,请告诉我。