项目中偶尔用到判断浏览器类型及相关版本问题,现记录相关代码: function getBrowserInfo(userAgent) {var browserName, browserVersion;if (userAgent.indexOf("MSIE") > -1) {var types = userAgent.substring(userAgent.indexOf("MSIE"));var Info = (types.split(";")[0]).split(" ");browserName = Info[0];browserVersion = Info[1];} elseif (userAgent.indexOf("Firefox") > -1) {var types = userAgent.substring(userAg...
本人学习JS和AngularJS时做的笔记。JavaScript:基础知识:定义变量:var(全局或函数作用域);let、const(块作用域、不提升变量);Tips:直接使用x=1会将x转换为全局变量,严格模式(“use strict”)报错;数据类型:Boolean、Number、String、Object、Null、Undefined;布尔值:false、null、undefined、0、NaN、””(空字符串)等价false,其余为true;比较:===(类型相同,值相同),==(会进行类型转换),对象比较引用...
说明:以下内容参考了一些网上资料以及同事间的一些讨论。 浏览器对于我们来说,可能是最熟悉的工具了。记得最早那会Netscape,到后来的Internet Explorer一统江湖,再到现在的FireFox大行其道,浏览器市场的争夺,可谓是硝烟弥漫。除了我们常见的IE, Firefox, Opera, Safari四大金刚以外,新近又出了一位Chrome,虽然新出,但是出于Google这个名门,Chrome所受到的关注绝不亚于先前的四大金刚,看来以后要改为5朵金花了,呵...
//js实现软件版本号的比较//随机举两个例子 pc2.4.3 或者pc3.5.6/*** 输入 v1,v2* 返回true代表v1比v2的版本新,false则代表v1与v2相等或者v1<v2;*/function versionCompare(v1,v2){//去掉收尾空格v1 =v1.replace(/(^\s+)|(\s+$)/gi,"");v2 = v2.replace(/(^\s+)|(\s+$)/gi,"");//空检查if(!v1 || !v2){return;}//截取v1,v2中的版本数字v1 = /\d(\.|\d)*\d/gi.exec(v1)[0];v2 = /\d(\.|\d)*\d/gi.exec(v2)[0];//版本比较,我们分为...
function CheckBrowser() {ua = navigator.userAgent;ua = ua.toLocaleLowerCase();var browserVersion;if (ua.match(/msie/) != null || ua.match(/trident/) != null) {browserType = "IE";//哈哈,现在可以检测ie11.0了!browserVersion = ua.match(/msie ([\d.]+)/) != null ? ua.match(/msie ([\d.]+)/)[1] : ua.match(/rv:([\d.]+)/)[1];} else if (ua.match(/firefox/) != null) {browserType = "火狐";} else if (ua.match...
最近又开始忙了,项目中又遇到了可恶的IE Hack问题,各种Hack的看着让自己都觉得恶心,于是决定改造一番。首先请出条件注释语句:之前用过的条件注释<!--[if lt IE 7]><body class="ie6"><![endif]--><!--[if IE 7]><body class="ie7"><![endif]--><!--[if IE 8]><body class="ie8"><![endif]--><!--[if IE 9]><body class="ie9"><![endif]--><!--[if !IE]><!--><body><!--<![endif]--> 但是这种用法的问题想必大家也都知道,就是:...
程序21:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。var arr=[];var count=20;for(var i=0;i<=count;i++){if(i==0){arr[i]=1;}else if(i==1){arr[i]=2;}else{arr[i]=arr[i-1]+arr[i-2];}}for(var i=0,sum=0;i<count;i++){sum+=arr[i+1]/arr[i];}console.log(sum);结果32.66026079864164程序22:求1+2!+3!+...+20!的和for(var i=1,sum=0;i<=20;i++){for(var j=1,res=1;j<=i;j++){res*=j}sum+=res;}consol...
目前谷歌翻译小工具对中文网页(以及其他语言网页)提供了对其他二十三种语言的翻译: 中文(繁体),英文,阿拉伯文,保加利亚文,波兰语,朝鲜语,丹麦语,德语,俄语,法语,芬兰语,荷兰语,捷克语,克罗地亚文,罗马尼亚语,挪威语,葡萄牙语,日语,瑞典语,西班牙语,希腊语,意大利语和印度文。也就是说当你的网站使用了谷歌翻译小工具后,你的网站马上可以以另外二十三种语言显示,这对所有期望与国际接轨,让全球网民了解中国博...
利用正则表达式来判断ie浏览器版本 判断是否IE浏览器 if (document.all) { alert("这个是ie浏览器");} 判断是否IE6浏览器 方法一:if ( /MSIE 6.0/ig.test(navigator.appVersion) ) {alert("这个是ie6浏览器");} 或 /MSIE 8/.test(navigator.appVersion) 方法二: var IE = !+‘\v1‘; IE6 = IE && ([/MSIE(\d)\.0/i.exec(navigator.userAgent)][0][1] == 6) 判断是否IE7浏览器 if ( /MSIE 7.0/ig.test(navigator.appVersion) ) {a...
一、前言 找了一个视频教程开始学习webpack,跟着视频学习,在自己的实际操作中发现,出现了很多问题。基本上都是因为版本的原因而导致,自己看的视频是基于webpack 1.x版,而自己现在早已是webpack 4.X了。觉得学习还是要以最新的来,也许以后并不会再接触到1.x的。不过了解不同版本更迭的问题,也是一个学习过程,更加了解这个东西。这个文章主要是针对一次js打包体验中出现的许多问题,更多的在于对webpack的一次认识。二、正...
介绍
观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。
使用观察者模式的好处:
1.支持简单的广播通信,自动通知所有已经订阅过的对象。
2.页面载入后目标对象很容易与观察者存在一种动态关联,增加了灵活性。
3.目标对象与观察者之间的抽象耦合关系能够单独扩展以及重用...
介绍
观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。
使用观察者模式的好处:
1.支持简单的广播通信,自动通知所有已经订阅过的对象。
2.页面载入后目标对象很容易与观察者存在一种动态关联,增加了灵活性。
3.目标对象与观察者之间的抽象耦合关系能够单独扩展以及重用...
强缓存: 到底什么是强缓存?强在哪?其实强是强制的意思。当浏览器去请求某个文件的时候,服务端就在respone header里面对改文件做了缓存配置。缓存的时间、缓存类型都由服务端控制。强缓存实现:
cache-control: max-age=315360000, public ,immutable客户端和代理服务器都可以缓存该资源,在315360000秒(10年)的有效期内,如果有请求该资源的需求的话就直接读取缓存,statu code:200 ,即使用户做了刷新操作,也不向服务器发起...
代码如下:<span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?version= ) <script type=”text/javascript” src=”jb51.js?version=1.2.6″></script> <link rel=’stylesheet’ href=’base.css?version=2.3.3′ type=’text/css’ />使用参数有两种可能: 第一、脚本并不存在,而是服务端动态生成的,因此带了个版本号,以示区别。 即上面代码对于文件来说 等价于 代码如下:<script typ...
这篇文章主要介绍了HTML页面自动清理js、css文件的缓存(自动添加版本号),小编觉得挺不错的,现在分享给大家HTML源码,也给大家做个参考。对HTML感兴趣的小伙伴们一起跟随小编过来看看吧 在web项目开发过程中,我们经常会引用css、js文件,更新文件后常出现缓存问题(明明更改了代码,在浏览器上访问的时候却没有发生变化),这种情况我们通常采用以下两种解决方案:1、手动清除浏览器缓存2、添加版本号(如 layout.css?v=1)个人...