我正在运行一个集成了WhichBrowser的html页面。

如自述文件中所述,我将以下代码放在<head>部分中:

<script>
    (function(){var p=[],w=window,d=document,e=f=0;p.push('ua='+encodeURIComponent(navigator.userAgent));e|=w.ActiveXObject?1:0;e|=w.opera?2:0;e|=w.chrome?4:0;
    e|='getBoxObjectFor' in d || 'mozInnerScreenX' in w?8:0;e|=('WebKitCSSMatrix' in w||'WebKitPoint' in w||'webkitStorageInfo' in w||'webkitURL' in w)?16:0;
    e|=(e&16&&({}.toString).toString().indexOf("\n")===-1)?32:0;p.push('e='+e);f|='sandbox' in d.createElement('iframe')?1:0;f|='WebSocket' in w?2:0;
    f|=w.Worker?4:0;f|=w.applicationCache?8:0;f|=w.history && history.pushState?16:0;f|=d.documentElement.webkitRequestFullScreen?32:0;f|='FileReader' in w?64:0;
    p.push('f='+f);p.push('r='+Math.random().toString(36).substring(7));p.push('w='+screen.width);p.push('h='+screen.height);var s=d.createElement('script');
    s.src='http://localhost/mysite/libs/whichbrowser/detect.js?' + p.join('&');d.getElementsByTagName('head')[0].appendChild(s);})();
</script>


然后是以下代码(在<body>中):

<script>
Browsers = new WhichBrowser();
alert("You are using " + Browsers);
</script>


我在easyPHP上运行,并且考虑了.htaccess,因此.js由PHP解释器解析。

当运行页面(当然是从服务器)时,在行Browsers = new WhichBrowser();上出现以下错误:“未定义WhichBrowser”。

我做错了什么?

最佳答案

我遇到了相同的问题,并通过以下操作解决了该问题:

$(window).on('load', function() {
    Browsers = new WhichBrowser();
    // Put rest of browser detection code here
});


问题在于,在加载detect.js之前已调用脚本。

09-25 13:30