作者: admin

  • js判断各版本IE浏览器

    js jquery 判断 ie 版本号

    jquery 1.9开始版本就没有了判断IE浏览器的功能,我们需要自己写。

    此功能仅仅是对IE的判断,能判断IE6到IE11

    var isIE =(function(){
    	var browser = {};
    	return function(ver,c){
    		var key = ver ?  ( c ? "is"+c+"IE"+ver : "isIE"+ver ) : "isIE";	
    		var v = browser[key];
    		if( typeof(v)  != "undefined"){
    			return v;
    		}
    		if( !ver){
    		 	v = (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) ;
    		}else {
    			var match = navigator.userAgent.match(/(?:MSIE |Trident\/.*; rv:|Edge\/)(\d+)/);
    			  if(match){
    				   var v1 = parseInt(match[1]) ;
    				  v = c ?  ( c == 'lt' ?  v1 < ver  :  ( c == 'gt' ?  v1 >  ver : undefined ) ) : v1== ver ;
    			  }else	if(ver <= 9){
    				var b = document.createElement('b')
    			    var s = '<!--[if '+(c ? c : '')+' IE '  + ver + ']><i></i><![endif]-->';
    				b.innerHTML =  s;
    			    v =  b.getElementsByTagName('i').length === 1;
    			}else{
    				v=undefined;
    			}
    		}
    		browser[key] =v;
    		return v;	
    	};	
    }());

     

    调用:

    alert('window.navigator.userAgent:'+window.navigator.userAgent+'\n ie6:' + isIE(6) + '\n' + 'ie7:' + isIE(7) + '\n' + 'ie8:' + isIE(8) +
    		'\n' 	+ '<ie8:' + isIE(8,'lt') +	'\n' 	+ '>ie8:' + isIE(8,'gt') +
    		'\n' 	+ 'ie9:' + isIE(9) + '\n'  + 'ie10:' + isIE(10) + '\n' + 'ie11:' + isIE(11) + '\n' + 'ie:' + isIE())

    现在基本可以怎么各个IE版本,且既可判断某个IE版本:isIE(8);也可大于或小于某个IE版本: isIE(8,’gt’) , isIE(9,’lt);

     

  • mac安装win10双系统

    本人mac系统版本为10.12.3如果要安装win只能安装win8或者更高版本这里推荐win10。使用mac自带工具安装很傻瓜化——Boot Camp助理。

    1,下载好win10的64位iso系统,下载地址:

    ed2k://|file|cn_windows_10_multiple_editions_version_1607_updated_jul_2016_x64_dvd_9056935.iso|4347183104|35EA5DB0F3BB714F5CE0740FB89D82D1|/

     

    2,运行Boot Camp助理之后选中刚刚下载好的iso,点击下一步即可,之后就自动安装了。

     

    3,之后系统会自动切换到win中,我们点击“我的电脑”会看到类似的“Boot Camp”关键字的盘符,进去后看到类似的“drive”文件夹进去,直接在根目录点击exe即可,Boot Camp会自动帮我们安装好相应的驱动程序,这些驱动都是苹果官方提供的。

     

    4,之后上网搜索win10的工具激活基本已经完成了。

     

    5,系统切换

    在win中,在右下角点击“Boot Camp” 在点击mac的系统盘符后点击“重启”即可重新进入到mac系统

    在mac中,点击“偏好设置”—“启动磁盘”—同样选择win系统盘之后点击–“重启”即可进入到win系统中

     

     

  • vue.js相关UI组件收集

    内容

    ###UI组件

    ###开发框架

    ###实用库

    ###服务端

    • nuxt.js ★2810 – 用于服务器渲染Vue app的最小化框架
    • express-vue ★152 – 简单的使用服务器端渲染vue.js
    • vue-ssr ★70 – 非常简单的VueJS服务器端渲染模板
    • vue-ssr ★57 – 结合Express使用Vue2服务端渲染
    • vue-easy-renderer ★25 – Nodejs服务端渲染

    ###辅助工具

    ###应用实例

    ###Demo示例

  • babel笔记以及.babelrc相关配置

    Babel是一个转化器,将es6代码转化成es5。也就是说你可以放心大胆的写es6的语法不必考虑兼容性,
    Babel可以将你的代码转化成兼容性好的es5代码。

    // 转码前
    input.map(item => item + 1);
    
    // 转码后
    input.map(function (item) {
     return item + 1;
    });

    上面的原始代码用了箭头函数,这个特性还没有得到广泛支持,Babel将其转为普通函数,就能在现有的JavaScript环境执行了。

     

    配置.babelrc

    要使用Babel转码前要对.babelrc脚本进行配置:

    {
       "presets": [
          "stage-3",
          "es2015"
        ],
        "plugins": [
          [
           "transform-runtime",
             {
                "polyfill": false,
                "regenerator": true
             }
          ]
        ]
    }

    以下方法选择其中一种即可,但前提是要配置好.babelrc

     

    方法一:

    //将指定目录或者文件转码

    安装:

    npm install --save-dev babel-cli

     

    基本用法如下:

    # 转码结果输出到标准输出
     $ babel example.js
    
     # 转码结果写入一个文件
     # --out-file 或 -o 参数指定输出文件
     $ babel example.js --out-file compiled.js
     # 或者
     $ babel example.js -o compiled.js
    
     # 整个目录转码
     # --out-dir 或 -d 参数指定输出目录
     $ babel src --out-dir lib
     # 或者
     $ babel src -d lib
    
     # -s 参数生成source map文件
     $ babel src -d lib -s

     

    编辑:package.json

    {
      // ...
      "devDependencies": {
         "babel-cli": "^6.0.0"
      },
      "scripts": {
         "build": "babel src -d lib" //将src目录下的所有js文件转码输出到lib目录下
      },
     }

     

    执行命令

    npm run build

     

     

    方法二:

    //也可以不需要转码,让代码运行在支持es6的环境中运行
    安装在当前项目目录下:

    npm install --save-dev babel-cli

    要让代码能跑在es6的环境中就需要babel-node,它不用单独安装,而是随babel-cli一起安装。然后,执行babel-node就进入PEPL环境。

    babel-node es6.js //让es6.js代码在es6环境中运行

     

    编辑package.json

    {
      "scripts": {
        "start": "babel-node ./bin/www"
      }
    }

     

    启动命令:

    npm run start

     

     

    方法三:

    //每当使用require加载.js、.jsx、.es和.es6后缀名的文件,就会先用Babel进行转码。

    npm install --save-dev babel-register

    以express支持async/await、promise为例,在bin目录下新建1.js内容为:

    require("babel-register");
    require('./www');

     

    以后启动express时候就运行

    node ./bin/1.js即可

     

    http://www.ruanyifeng.com/blog/2016/01/babel.html

    http://www.kancloud.cn/digest/babel/217104

  • 让express支持async/await、promise

    node.js低版本不支持async/await、promise语句在express框架开发中需要支持就必须安装各种兼容模块才能跑起来。

    编辑package.json:

    "dependencies": {
      "babel-core": "^6.18.2",
      "babel-preset-es2015": "^6.18.0",
      "babel-preset-stage-3": "^6.17.0",
      "babel-runtime": "^6.18.0",
      "bluebird": "^3.4.6",
      "express": "^4.14.0"
     },
     "devDependencies": {
      "babel-plugin-transform-runtime": "^6.15.0"
     }

    添加完成后记得安装npm install

     

    创建脚本.babelrc

    {
      "presets": [
          "stage-3",
          "es2015"
      ],
      "plugins": [
         [
           "transform-runtime",
           {
             "polyfill": false,
             "regenerator": true
           }
         ]
       ]
    }

     

    在需要支持promise的路由处引入以下代码即可

    const Promise = require('bluebird');

     

    express启动文件默认在./bin/www,现在添加文件start.js内容如下:

    require('babel-core/register');
    require('./www');
    require("babel-core").transform("code", {
      plugins: ["transform-runtime"]
    });

     

    以后启动express时就执行:

    node ./bin/start.js

    这样尝试着用async/await、promise语法编程看看是否成功执行

    相关文件下载:express-babel-master