我正在运行一个集成了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之前已调用脚本。