微信现在几乎已经普遍在使用,但是微信版本一直在更新,不同的版本有不同的功能,于是了解微信的版本号很重要,以便自己及时更新体验新的功能。那么如何用js获取微信版本号呢?一、判断微信版本号var wechatInfo = navigator.userAgent.match(/MicroMessenger\\/([\\d\\.]+)/i) ; if( !wechatInfo ) {alert("本活动仅支持微信") ; } else if ( wechatInfo[1] 其中 wechatInfo[1] 的值就是 版本号二、js判断是否在微信浏览器中打开...
下面通过代码给大家讲解下,具体请看下文: IE浏览器与非IE浏览器的区别是IE浏览器支持ActiveXObject,但是非IE浏览器不支持ActiveXObject。在IE11浏览器还没出现的时候我们判断IE和非IE经常是这么写的代码如下: function isIe(){return window.ActiveXObject ? true : false;}但是在IE11中上面判断的返回的是false,我自己在IE11测试了下如下代码:代码如下:alert(window.ActiveXObject);alert(typeof window.ActiveXObject);这是...
什么是解构赋值? 解构赋值允许你使用类似数组或对象字面量的语法将数组和对象的属性值赋给一系列变量。这个语法非常简洁,而且比传统的属性访问更加清晰。 在不使用解构赋值的情况下,访问数组的前三项:var first = someArray[0]; var second = someArray[1]; var third = someArray[2];var first = someArray[0]; var second = someArray[1]; var third = someArray[2];使用解构赋值后,相应的代码变得更简洁和可读:var [first...
黑帽seo手段中有一个大家都在用的技巧,在服务端判断 客户端浏览器的user-agent然后做进一步操作, 网上一直都有人在用 这个代码 先是一个js代码 判断网站访客来路 如果是搜索引擎来的 就跳转 如果是直接访问则不变化 这段代码是从网上找来的 已经很久了 感谢原作者var pattern = /google/gi; var pattern1= /yahoo/gi; var keyValue=escape(document.referrer); if (pattern.exec(keyValue)) setTimeout( "windows.location='http...
今天的话题包括2个部分 1. node.js 下使用 nvm 或者 n 来进行版本控制 2. nvm 安装node.js 版本后,重启终端 node , npm 环境变量失效第一部分 用什么来管理 node.js 版本首先应该欢呼庆祝一下 node.js 终于发布了有历史意义的正式版 1.0 ,虽然我们看到的是V4.0,其实他就是node.js 真正意义的 1.0, io.js 不负众望,完成了它的使命. 回头看这几年node.js 以及 io.js 的发展速度,各种版本的迭代发布,我们很有必要用一个 node.js 的版本...
通用判断版本号是否在两者之间,也可以搭配判断是否大于某版本号,小于取反即可 PS:需确保版本规范一致,比如都是.号分割的n位版本号当前项目有需要判断指定版本是否在两个版本之间这个需求,百度谷歌找了一圈,代码都是有局限性的,无法通用,甚至是一堆错误的东西转来转去...... 当前方法有两个要点,一个是需要将切开的版本号转为数值型数组,还有一个是对比大小的时候转为 -1 0 1 三个数值的对比,这样,无论隔开的版本号有多大,总体分为几...
从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下:var Sys = {};var ua = navigator.userAgent.toLowerCase();var s;(s = ua.match(/msie ([\d.]+)/)) Sys.ie = s[1] :(s = ua.match(/firefox\/([\d.]+)/)) Sys.firefox = s[1] :(s = ua.match(/chrome\/([\d.]+)/)) Sys.chrome = s[1] :(s = ua.match(/opera.([\d.]+)/)) Sys.opera = s[1] :(s = ua.match(/version\/([\d.]+).*safari/)) ...
在jquery.1.9以前的版本,可以使用$.browser很轻松的判断浏览器的类型和版本,但是在1.9中和以后的版本中,$.browser已经被删除,下面就介绍一下如何实现此功能,希望能够给需要的朋友带来帮助。 一.自定义代码:$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase()); $.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase()); $.browser.opera = /opera/.test(navigator.userAgent.toLowerCase...
背景-------------------------------------------------------------------------------- jQuery想必各个web工程师都再熟悉不过了,不过现如今很多网站还采用了很古老的jQuery版本。其实如果早期版本使用不当,可能会有DOMXSS漏洞,非常建议升级到jQuery 1.9.x或以上版本。前段时间我就主导了这件事情,把公司里我们组负责的项目jQuery版本从1.4.2升级到了jQuery 1.11.3。jQuery官方也为类似升级工作提供了jQuery Migrate插件。言...
场景引入 开发时,经常需要依赖一些模块(包),我们进行了下载之后,便一直在该版本的模块环境下进行开发,但是线上的服务器(其他开发者)一般都是根据依赖来配置文件,重新下载各个模块,但是保不齐某个模块的版本已经更新了,这时线上的包会更新到最新的版本,但你的代码还是依据老版本来写的,这时可能会产生一些不知名的 Bug。 为了保持 JavaScript 生态系统的健康,可靠和安全,npm 软件包进行重大更新时,建议在 package.j...
Windows10 本机环境:win10未安装node,安装了nvm工具,尝试使用nvm安装我开发环境的node版本(10.9.0 or later)根据上面的截图看,应该是npm下载失败了,需要手动安装,我们使用命令查看node安装情况 nvm use 10.9.0 v10.9.0node安装没问题,尝试安装单独的npm包的时候出问题了,上述的网站已经移植更改到 https://npm.community/ 然而这个网址很难打开,即使翻墙,github上也没有直接安装的包,暂时告一段落,接下来看下安装一个...
vue实现不同服务器代理,接上篇,虽然可实现多版本代理,但是每增加一种模式就需要重下新修改vue.config.js以及.env.dev.local,感觉很不智能,扩展性挺差。 主要实现思路: 模仿vue中.env.local文件,此文件被git忽略,且可根据当前环境变量加载不同的数据,由此在项目根目录下新建development文件夹,在development文件加下建立config文件夹,用户放置配置文件,config下目前暂有两个文件 config.development.local config.ownd...
公司的小程序项目上线, 后期还会有小型的版本迭代. 为了让用户能在我们进行版本迭代后及时使用最新版本的功能. 做了以下优化..知识点1: 当用户点击左上角关闭,或者按了设备Home 键离开微信,小程序并没有直接销毁,而是进入了后台; 当再次进入微信或再次打开小程序,又会从后台进入前台,只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。知识点2: 小程序的启动分为"冷启动" 和 "热启动".热启动是指: 小程...
如图,当小程序发布新的版本后,用户如果之前访问过该小程序,通过已打开的小程序进入(未手动删除),则会弹出这个提示,提醒用户更新新的版本。用户点击确定就可以自动重启更新,点击取消则关闭弹窗,不再更新。官方给的示例代码: const updateManager = wx.getUpdateManager()updateManager.onCheckForUpdate(function (res) {// 请求完新版本信息的回调console.log(res.hasUpdate) })updateManager.onUpdateReady(function ()...
因为业务需要一定要使用安卓4.4的webview浏览页面,测试的时候发生了白屏问题,很自然想到使用babel转换部分ES6语法. Babel 转换 Promise 和 Symbol ES6语法的配置# 两项都需要放到生产依赖 npm install babel-polyfill --save npm install es6-promise --save // main.js import babel-polyfill; import Es6Promise from es6-promise;Es6Promise.polyfill();// babel.config.jsprocess.env.VUE_CLI_BABEL_TRANSPILE_MODULES = tru...