在javascript中检测webkit浏览器?
编辑: 实际上,我使用PHP检测并创建了一个带有PHP标记的局部变量在javascript中检测webkit浏览器?,javascript,jquery,browser,webkit,Javascript,Jquery,Browser,Webkit,编辑: 实际上,我使用PHP检测并创建了一个带有PHP标记的局部变量 if ( strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'webkit')) { $is_webkit = "true"; } 如何检测浏览器是否基于webkit?(谷歌浏览器、较新的Opera、safari) 我试过这个: var isWebkit = (window.webkitURL != null); if(isWebkit){ alert("i a
if ( strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'webkit')) {
$is_webkit = "true";
}
如何检测浏览器是否基于webkit?(谷歌浏览器、较新的Opera、safari) 我试过这个:
var isWebkit = (window.webkitURL != null);
if(isWebkit){
alert("i am a webkit based browser!");
}
不适用于safari,请参见以下帖子: 或更通用的webkit:
var isWebkit = /webkit/.test( navigator.userAgent );
您真的应该使用Modernizer之类的工具进行功能检测。它们的基本功能是: 代码:
<script>
txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt+= "<p>Browser Name: " + navigator.appName + "</p>";
txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt+= "<p>Platform: " + navigator.platform + "</p>";
txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";
txt+= "<p>User-agent language: " + navigator.systemLanguage + "</p>";
document.getElementById("example").innerHTML=txt;
</script>
这将显示一个弹出窗口,一旦窗口加载
最好的、简单易读的解决方案是:
$.browser.chrome = $.browser.webkit && !!window.chrome;
$.browser.safari = $.browser.webkit && !window.chrome;
if ($.browser.chrome) alert("You are using Chrome!");
if ($.browser.safari) alert("You are using Safari!");
这些是我在一些网站上找到的基本知识:
解决方案非常简单
if(navigator.userAgent.indexOf('AppleWebKit') != -1){
//this is webkit!
}
AppleWebKit是webkit渲染引擎的名称,因此每个基于webkit的浏览器都必须包含此字符串
但如果您需要有关用户浏览器引擎的可靠信息,您可能希望使用以下方法:
if(typeof window.webkitConvertPointFromNodeToPage === 'function'){
// this is webkit (really it is)
}
说明:userAgent属性很容易被欺骗,所以检查特定属性是一种更好的方法。
但它并非没有缺陷,safari的早期版本(4.0之前)没有这样的特性。
Chrome从第一个版本开始就支持webkitConvertPointFromNodeToPage,opera支持这一点,并将其引擎传输到webkit,以了解它是否是一般的webkit:
isWebkit = /(safari|chrome)/.test(navigator.userAgent.toLowerCase());
safari一词可能同时出现在chrome和safari中
alert('webkitRequestAnimationFrame' in window);
在Chrome 48(正确)、Safari 9.0.2(正确)、Opera 35(正确)中进行了一致测试,
Firefox 44.0.2(false)YUNO进行功能检测而不是引擎嗅探?请看这里:您想检查navigator.userAgentwindow.webkitConvertPointFromNodeToPage不推荐使用。
isWebkit = /(safari|chrome)/.test(navigator.userAgent.toLowerCase());
alert('webkitRequestAnimationFrame' in window);