我的网站上有一个聊天机器人,它需要最新版本的浏览器才能完美运行,所以我需要向用户显示一条消息,说“请将您的浏览器更新到最新版本”。我不想使用第三方插件。如果用户使用此 js 代码使用不受支持的浏览器版本,我如何显示 div
html
<div id="printVer"></div>
Run Code Online (Sandbox Code Playgroud)
JS
navigator.sayswho= (function(){
var ua= navigator.userAgent, tem,
M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
if(/trident/i.test(M[1])){
tem= /\brv[ :]+(\d+)/g.exec(ua) || [];
return 'IE '+(tem[1] || '');
}
if(M[1]=== 'Chrome'){
tem= ua.match(/\b(OPR|Edge)\/(\d+)/);
if(tem!= null) return tem.slice(1).join(' ').replace('OPR', 'Opera');
}
M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]);
return M.join(' ');
})();
document.getElementById('printVer').innerHTML=navigator.sayswho
Run Code Online (Sandbox Code Playgroud) 我正在和一位朋友谈论他们的浏览器中没有启用javascript的用户,以及如何向他们展示您网站的"无javascript"版本.
它有可能,怎么做?
思考?
<script src="ie.js">如果浏览器是IE,我想要包含.
否则,包括all.js所有其他浏览器.
我怎样才能做到这一点?
我正在尝试将不支持CSS3或iFrame的旧浏览器重定向到警告页面,在此我解释说如果它们继续存在,他们可能会遇到旧版浏览器的问题.
脚本(或其他)应该测试css3可比性而不是浏览器ID.
如果用户使用旧版浏览器查看,则显示在页面顶部的横幅也是可以接受的.
我目前正在使用:
<!--[if lt IE 9]><div style=' clear: both; height: 200px; padding:0 0 0 15px; position: relative;'><a href="old"><img src="old-browser.jpg" border="0" height="153" width="659" alt="" /></a></div><![endif]-->
他们的任何人是否有这方面的经验或链接到一个例子?谢谢.
我想知道是否有可能在Eclipse RAP应用程序中检测浏览器(尤其是IE).我想通知服务器客户端使用的浏览器,以便它可以显示适应的视图.
提前致谢!
java browser internet-explorer browser-detection eclipse-rap
我已经使用 PHP 的get_browser功能有一段时间了,但从未真正注意到我的任何网站有任何滞后。然而,最近我注意到我的一个网站在服务器端加载的时间比它应该花费的时间多一秒左右。我注释掉了该get_browser功能,页面立即加载。
这可能与我的服务器有关还是get_browser已知功能很慢?该网站是我唯一在 Windows 服务器上运行的网站,这可能是问题吗?或者这可能与我的 browscap.ini 文件有关(每天从http://browsers.garykeith.com更新)?
如果我无法加速该get_browser功能,是否有其他替代方法?我需要可靠地收集有关浏览器的以下信息:
我不知道从用户代理收集这些信息的任何其他方法,使用 javascript 会更好吗(我宁愿不要,因为我需要值服务器端)?
在我的网络应用中,我使用透明的模糊滤镜叠加在视频顶部。这适用于除IE10 / 11之外的所有浏览器。由于模糊滤镜是CSS属性,因此我不能像应该做的那样真正地进行适当的特征检测。相反,我使用的是:
if(navigator.userAgent.indexOf("Trident")>-1) { // IE ... }
如果检测到IE,我将使用其他适用的过滤器(非模糊)。
在任何情况下此代码都可能给出误报?是否有使用Trident引擎的模糊兼容浏览器?
编辑:我知道IE8和IE9都有自己的模糊滤镜,但是为了保持一致性,我们决定对所有版本的IE使用相同的替代滤镜。
如何从Elm检测浏览器?
具体来说,我希望能够判断网络应用程序是否在平板电脑上运行(iPad上的Safari等).
我想知道哪个最适合速度:
选项1:为每个浏览器加载单独的CSS(通过a包含单独的JS文件<script/>):
// for internet explorer 6 & 7
if ($.browser.msie) {
document.write('<link rel="stylesheet" type="text/css" href="/css/styles-ie.css" />');
}
// for opera
if ($.browser.opera) {
document.write('<link rel="stylesheet" type="text/css" href="/css/styles-opera.css" />');
}
Run Code Online (Sandbox Code Playgroud)
选项2:内联CSS(通过a包含单独的JS文件<script/>):
// for internet explorer 6 & 7
if ($.browser.msie) {
document.write('[some CSS styles]');
}
// for opera
if ($.browser.opera) {
document.write('[some CSS styles]');
}
Run Code Online (Sandbox Code Playgroud)
选项3:还是有另一种更好的方法吗?
我没有找到使用jquery.support而不是jquery.browser来检测IE6的明确方法.另外我需要考虑Quirks模式,呃!
我在Stack上看过几个帖子,但它们都引用了jquery.browser,而jquery.support的文档有点模糊.
任何有关这方面的帮助都会很棒并且事先感谢.
javascript ×6
html ×3
browser ×2
css ×2
jquery ×2
browscap ×1
css3 ×1
detect ×1
eclipse-rap ×1
elm ×1
java ×1
php ×1
redirect ×1
user-agent ×1