浏览器的JavaScript引擎的识别方法


Posted in Javascript onOctober 20, 2013

答案来自StackOverflow,打开这个网页http://jsbin.com/opuvas即可,这个网页也是答题者自己写的。

二维码是这个网址。网页内有统计访问量,作者想知道对多少人有用,建议尊重原创,不要复制这个网页。
浏览器的JavaScript引擎的识别方法 

对PC浏览器和移动浏览器都可用。

其原理是这段js:

window.onload = function() { 
var v8string = 'function%20javaEnabled%28%29%20%7B%20%5Bnative%20code%5D%20%7D'; if (window.devicePixelRatio) //If WebKit browser 
{ 
if (escape(navigator.javaEnabled.toString()) === v8string) 
{ 
display('V8 detected'); 
} 
else 
{ 
display('JSC detected'); 
} 
} 
else { 
display("Not a WebKit browser"); 
} 
function display(msg) { 
var p = document.createElement('p'); 
p.innerHTML = msg; 
document.body.appendChild(p); 
} 
};

首先检测WebKit特有的属性devicePixelRatio,然后检测v8特有的javaEnabled函数的实现。
Javascript 相关文章推荐
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
Apr 27 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
JAVASCRIPT函数作用域和提前声明 分享
Aug 22 Javascript
原生js实现弹出层登录拖拽功能
Dec 05 Javascript
javascript监听页面刷新和页面关闭事件方法详解
Jan 09 Javascript
Bootstrap datepicker日期选择器插件使用详解
Jul 26 Javascript
node.js 发布订阅模式的实例
Sep 10 Javascript
vue项目中使用ueditor的实例讲解
Mar 05 Javascript
详解搭建es6+devServer简单开发环境
Sep 25 Javascript
如何基于js判断浏览器版本
Feb 20 Javascript
vue-router定义元信息meta操作
Dec 07 Vue.js
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 Vue.js
JS实现点击图片在当前页面放大并可关闭的漂亮效果
Oct 18 #Javascript
jquery 循环显示div的示例代码
Oct 18 #Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
Oct 18 #Javascript
简单实用的全选反选按钮例子
Oct 18 #Javascript
关于jquery的多个选择器的使用示例
Oct 18 #Javascript
js页面跳转的常用方法整理
Oct 18 #Javascript
js判断上传文件的类型和大小示例代码
Oct 18 #Javascript
You might like
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
php 猴子摘桃的算法
2017/06/20 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
相册展示PhotoSwipe.js插件实现
2016/08/25 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
js时间控件只显示年月
2017/01/08 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
Python中pygame的mouse鼠标事件用法实例
2015/11/11 Python
python使用itchat实现手机控制电脑
2018/02/22 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
tensorflow 实现数据类型转换
2020/02/17 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
山海经纬软件测试笔试题和面试题
2013/04/02 面试题
Java如何获得ResultSet的总行数
2016/09/03 面试题
观看禁毒宣传片后的感想
2015/08/11 职场文书
教学副校长工作总结
2015/08/13 职场文书