请达人帮忙解释下下面这段用来识别浏览器的代码,如何使用?

janey1222 2015-02-06 02:44:24

<script>
/**********************************************************************
* Helper function to parse the user agent. Sets the following form xiaonan 2014-07-11 16:59:19
* .os.weixin
* .os.webkit
* .os.android
* .os.ipad
* .os.iphone
* .os.webos
* .os.touchpad
* .os.blackberry
* .os.opera
* .os.fennec
* .os.ie
* .os.ieTouch
* .os.supportsTouch
* .os.playbook
* .os.tizen
* .feat.nativeTouchScroll
* @api private
if($.os.webkit){
alert("I'm webkit browser");
};
**********************************************************************/
function detectUA($, userAgent) {
$.os = {};
$.os.weixin = userAgent.match(/MicroMessenger\/([\d.]+)/) ? true : false;
$.os.webkit = userAgent.match(/WebKit\/([\d.]+)/) ? true : false;
$.os.android = userAgent.match(/(Android)\s+([\d.]+)/) || userAgent.match(/Silk-Accelerated/) ? true : false;
$.os.androidICS = $.os.android && userAgent.match(/(Android)\s4/) ? true : false;
$.os.ipad = userAgent.match(/(iPad).*OS\s([\d_]+)/) ? true : false;
$.os.iphone = !$.os.ipad && userAgent.match(/(iPhone\sOS)\s([\d_]+)/) ? true : false;
$.os.ios7 = ($.os.ipad||$.os.iphone)&&userAgent.match(/7_/) ? true : false;
$.os.webos = userAgent.match(/(webOS|hpwOS)[\s\/]([\d.]+)/) ? true : false;
$.os.touchpad = $.os.webos && userAgent.match(/TouchPad/) ? true : false;
$.os.ios = $.os.ipad || $.os.iphone;
$.os.playbook = userAgent.match(/PlayBook/) ? true : false;
$.os.blackberry10 = userAgent.match(/BB10/) ? true : false;
$.os.blackberry = $.os.playbook || $.os.blackberry10|| userAgent.match(/BlackBerry/) ? true : false;
$.os.chrome = userAgent.match(/Chrome/) ? true : false;
$.os.opera = userAgent.match(/Opera/) ? true : false;
$.os.fennec = userAgent.match(/fennec/i) ? true : userAgent.match(/Firefox/) ? true : false;
$.os.ie = userAgent.match(/MSIE 10.0/i)||userAgent.match(/Trident\/7/i) ? true : false;
$.os.ieTouch = $.os.ie && userAgent.toLowerCase().match(/touch/i) ? true : false;
$.os.tizen = userAgent.match(/Tizen/i)?true:false;
$.os.supportsTouch = ((window.DocumentTouch && document instanceof window.DocumentTouch) || "ontouchstart" in window);
$.os.kindle=userAgent.match(/Silk-Accelerated/)?true:false;
//features
$.feat = {};
var head = document.documentElement.getElementsByTagName("head")[0];
$.feat.nativeTouchScroll = typeof(head.style["-webkit-overflow-scrolling"]) !== "undefined" && ($.os.ios||$.os.blackberry10);
$.feat.cssPrefix = $.os.webkit ? "Webkit" : $.os.fennec ? "Moz" : $.os.ie ? "ms" : $.os.opera ? "O" : "";
$.feat.cssTransformStart = !$.os.opera ? "3d(" : "(";
$.feat.cssTransformEnd = !$.os.opera ? ",0)" : ")";
if ($.os.android && !$.os.webkit)
$.os.android = false;
var items=["Webkit","Moz","ms","O"];
for(var j=0;j<items.length;j++){
if(document.documentElement.style[items[j]+"Transform"]==="")
$.feat.cssPrefix=items[j];
}
}
detectUA($, navigator.userAgent);
$.__detectUA = detectUA;
</script>
...全文
93 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hello World, 2015-02-06
  • 打赏
  • 举报
回复
if($.os.ie==true) ????
Hello World, 2015-02-06
  • 打赏
  • 举报
回复
detectUA($, navigator.userAgent); $.__detectUA = detectUA; 前面加一行: var $= {}; 或者先引用JQuery 然后可以判断:$.os.ie=true????
slwsss 2015-02-06
  • 打赏
  • 举报
回复
alert($.os.webkit); alert($.os.weixin); alert($.os.android);
代码转载自:https://pan.quark.cn/s/a4b39357ea24 本文重点阐述了利用 LabVIEW 软件构建的锁相放大器的设计方案及其具体实施流程,并探讨了该设备在声波相位差定位系统中的实际运用情况。 锁相放大器作为一项基础测量技术,其核心功能在于能够精确锁定微弱信号的频率参数并完成相关测量工作。 在采用 LabVIEW 软件开发的锁相放大器系统中,通过计算测量信号与两条参考信号之间的互相关函数,实现对微弱信号的频率锁定,同时输出被测信号的幅值信息。 虚拟仪器技术是一种基于计算机硬件平台的仪器系统,其显著特征在于用户可以根据实际需求自主设计仪器功能,配备虚拟化操作界面,并将测试功能完全由专用软件程序实现。 虚拟仪器系统的基本架构主要由计算机主机、专用软件程序以及硬件接口模块等核心部件构成。 虚拟仪器最突出的优势在于其功能完全取决于软件编程,用户可以根据具体应用场景灵活调整系统功能参数。 在基于 LabVIEW 软件开发的锁相放大器系统中,主要运用 LabVIEW 软件平台完成锁相放大器功能的整体设计。 LabVIEW 作为一个图形化编程环境,能够高效地完成虚拟仪器的开发工作。 借助 LabVIEW 软件,可以快速构建锁相放大器的用户操作界面,并且可以根据实际需求进行灵活调整和功能扩展。 锁相放大器系统的关键构成要素包括测量信号输入通道、参考信号输入通道、频率锁定处理单元以及信号幅值输出单元。 测量信号是系统需要检测的对象,参考信号则用于引导系统完成对测量信号的频率锁定。 频率锁定处理单元负责实现测量信号的锁定功能,信号幅值输出单元则负责输出被测信号的幅值大小。 在锁相放大器的实际实现过程中,系统采用了双路参考信号输入方案来锁定测量信号。 通过分析两路参考信号之间的相...
边缘计算环境中基于启发式算法的深度神经网络卸载策略(Matlab代码实现)内容概要:本文介绍了在边缘计算环境中,利用启发式算法实现深度神经网络任务卸载的策略,并提供了相应的Matlab代码实现。文章重点探讨了如何通过合理的任务划分与调度,将深度神经网络的计算任务高效地卸载到边缘服务器,从而降低终端设备的计算负担、减少延迟并提高整体系统效率。文中涵盖了问题建模、启发式算法设计(如贪心策略、遗传算法、粒子群优化等可能的候选方法)、性能评估指标(如能耗、延迟、资源利用率)以及仿真实验结果分析等内容,旨在为边缘智能计算中的模型推理优化提供可行的技术路径。; 适合人群:具备一定编程基础,熟悉Matlab工具,从事边缘计算、人工智能、物联网或智能系统优化方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究深度神经网络在资源受限设备上的部署与优化;②探索边缘计算环境下的任务卸载机制与算法设计;③通过Matlab仿真验证不同启发式算法在实际场景中的性能表现,优化系统延迟与能耗。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注算法实现细节与仿真参数设置,同时可尝试复现并对比不同启发式算法的效果,以深入理解边缘计算中DNN卸载的核心挑战与解决方案。

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧