自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

meloseven的专栏

追求自由思考

  • 博客(73)
  • 问答 (1)
  • 收藏
  • 关注

原创 IE的下载界面会停止CSS3动画

IE的下载界面会停止CSS3动画今天在调试代码的时候发现IE出现下载界面的时候,CSS3动画会停止。于是很好奇就写了个例子来验证一下,以下是我的DEMO:<!doctype html><html lang="en"> <head> <meta charset="utf-8"> <title></title> <style>

2017-08-23 19:41:31 475

转载 Content-type类型

application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。 multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。 text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。  补充 form的enctype属性为编码方式,常用有两种:application/x-

2017-08-22 15:05:52 743

原创 正则表达式中的特殊匹配

贪婪匹配和惰性匹配

2017-08-22 11:21:41 361

原创 Object主要方法的总结

在javascript中Object含有很多内置函数,可能平时用的比较少,但是这些方法作用很大。这里对这些方法进行一些总结: Object主要含有的方法包括:defineProperty(), defineProperties(), assign(), create(), entries(), freeze(), getOwnPropertyNames(), getPrototypeOf(),

2017-08-11 15:39:36 405

原创 使用Node.js创建一个简单的本地页面服务器

使用Node.js可以很简单的创建一个HTTP服务器,但是如果想要调试本地代码,就需要通过Node来查找本地资源文件并返回。 所以参考代码如下,注意我这里只支持html,js和css并未处理。const http = require('http');const fs = require('fs');const rootPath = 'C:/**/**';http.createServer((

2017-07-20 15:21:52 910

原创 HTML5中video和audio所支持的格式

在HTML5中新增了video和audio标签,可以播放音视频文件,但是不同的格式需要不同的解码器,各个浏览器所支持的格式有很大差别,这里是桌面所支持的格式:

2017-07-20 14:25:19 4042

原创 IE8,9中将event传到其他作用域会失效

与其它浏览器在事件触发之后为每个事件创建一个单独的Event对象相对,IE的所有事件公用一个Event对象,也就是window.event。因此为了避免冲突,针对某个事件的window.event对象只在该事件的事件处理函数的执行过程中有效,一旦事件处理函数执行完了,window.event就被IE设置为null了。如果传到其他作用域,event的属性会显示无法获取成员。 比如:var elem

2017-06-30 17:36:16 233

原创 实现javascript深复制

Javascript深复制需要处理引用值类型的数据,使复制的内容不再引用同一块内存地址。引用类型包括:Object,Array。通过typeof可以检测是否是类Object,包括了RegExp,Date等,需要将这些直接赋值即可,下面是我实现的深复制方法:/** * 实现深复制 * @param copy 需要复制的数组 * @returns {*} */function deepclon

2017-06-11 20:59:02 199

原创 Angular 1.2 原理分析

$digest脏检查,先看下源码//位置:rootScope.js $digest: function() { var watch, value, last, watchers, asyncQueue = this.$$asyncQueue, postDigestQueue = this.$$postDiges

2017-06-05 09:58:31 554

原创 字节,字符,Unicode,utf-32,utf-16,utf-8,ASCII的含义

计算机中字节,字符,Unicode,utf-32,utf-16,utf-8的概念很容易让人混淆,理解这里概念对于程序开发来说非常重要。字节:字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位。一个字节用8位二进制表示,也就是说,一个字节的范围是0-255,用16进制表示就是0x00-0xFF字符:表示一个符号,英文字母,汉字等等。一个字符没有特定等于多少

2017-05-23 22:11:09 509

原创 安装npm包的时候出现unable to get local issuer certificate的错误解决办法

我本地的npm是通过node.js安装包安装之后来的,在安装有些npm包的时候很正常,但是当我安装superagent时出错了,具体的错误信息如下:npm ERR! Windows_NT 6.1.7601npm ERR! argv "H:\\e\\Program Files\\nodeJs\\node.exe" "H:\\e\\Program Files\\nodeJs\\node_modules

2017-05-09 14:06:49 13312 1

原创 文件上传组件用到iframe在IE8,9中报拒绝访问的错误

在Html上传组件中,有很多使用的是iframe来获取上传文件后的返回内容。一般使用form表单来提交文件,使用iframe作为target接收返回内容。在项目开发中,有时候会遇到在IE8,9中获取iframe内容出现拒绝访问。例如下面这句: var html = iframe[0].contentDocument.body.innerHTML;经过反复查找之后,并非是跨域,或者其他问题。结果发现是

2017-05-08 16:15:20 2014

原创 当使用form.submit()在IE中显示拒绝访问的问题

原因是不能用JS去触发file控件的点击行为,例如$('#file').trigger('click'),而是需要真实的点击file控件。 所以,只能用按钮盖住file,但让点击事件透到file上面来打开文件选择器。

2017-05-08 16:08:21 2621

转载 Angular1.x规范

单一职责: 1) 一个原则: 每个文件只定义一个组件,且代码建议少于400行 原因: 每个文件只定义一个组件有利于单元测试; 有利于更方便的阅读,维护以及避免组内协作在源码控制上冲突2)

2017-05-07 22:33:13 3992

原创 如何写一个DOM加载完成的执行行数

像在jquery中会有$(function(){})或者$.ready(function(){})来使代码在DOM加载完成后执行。那么这里面的原理是怎么样的。先看下面代码:ready: function(fn) { var fired = false; function trigger() { if (fired) return; fired = true;

2017-04-24 17:13:45 451

原创 Angular中Jquery修改input的值之后如何更新Model

在开发angular程序中,有时候会用到jquery来修改input值,比如在做输入限制的时候,当复制粘贴字符到input框之后,需要对值进行改变再放入到input中。此时需要同步更新input上的ng-model。注意不要使用scope.$apply(),因为这个是model改变之后来更新view的。下面来看下具体方法。function handlePaste(e) { e.prevent

2017-04-14 11:00:57 5563 3

原创 程序设计的画图工具

程序设计时经常需要画图,这里是一些画图工具,自行搜索去用吧draw.ioedraw maxprocessonStarumlastahdia

2017-04-12 16:14:07 4060

原创 gulp删除文件

gulp删除文件一般gulp删除文件大家会去使用gulp-clean等,但仅仅通过del就可以了。 这里是官方的建议:https://github.com/gulpjs/gulp/blob/master/docs/recipes/delete-files-folder.md 先安装del:npm install --save-dev del简单使用:var gulp = require('gul

2017-04-10 10:22:55 3528

原创 AngularJs1.x自定义指令独立作用域的函数传入参数

在定义指令的scope属性如果设置成了{},那就成为了一个独立作用域,如果要传入一个方法,使用&,但是这里的传参有点不一样。先看下官网解释: & or &attr - provides a way to execute an expression in the context of the parent scope. If no attr name is specified then the a

2017-04-07 16:16:14 2377

原创 Client side performance(web 客户端表现性能建议)

原文地址http://taligarsiel.com/ClientSidePerformance.html

2017-04-06 15:06:43 208

原创 How browsers work(浏览器工作原理)

How browsers work:http://taligarsiel.com/Projects/howbrowserswork1.htm 浏览器的渲染原理简介 http://coolshell.cn/articles/9666.html 深度剖析浏览器渲染性能原理,你到底知道多少?http://www.jianshu.com/p/a32b890c29b1

2017-04-06 15:04:21 513

转载 JS中的new操作符

new操作时会执行的三个步骤 比如:var obj = new Base(); 实际结果:var obj = {};obj.__proto__ = Base.prototype;Base.call(obj);第一行,我们创建了一个空对象obj 第二行,我们将这个空对象的__proto__成员指向了Base函数对象prototype成员对象 第三行,我们将Base函数对象的this指针替

2017-03-30 09:50:12 213

转载 CSS的BFC

BFC 神奇背后的原理BFC 已经是一个耳听熟闻的词语了,网上有许多关于 BFC 的文章,介绍了如何触发 BFC 以及 BFC 的一些用处(如清浮动,防止 margin 重叠等)。虽然我知道如何利用 BFC 解决这些问题,但当别人问我 BFC 是什么,我还是不能很有底气地解释清楚。于是这两天仔细阅读了CSS2.1 spec 和许多文章来全面地理解BFC。一、BFC是什么?  在解释 BFC 是什么之

2017-03-21 10:39:26 331

原创 ES6值得关注的点

不存在变量提升,在ES5中var定义的变量可以在声明之前使用,值为undefined,而let则不会,如果在let之前使用变量,会提示出错。ES6明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。总之,在代码块内,使用let命令声明变量之前,该变量都是不可用的块级作用域的出现,实际上使得获得广泛应用

2017-03-16 23:24:02 218

原创 前端工程构建需要的文件及步骤

现代化前端工程需要有很多工具等,现在整理一些平时会用到的。 工具插件 涉及的文件及功能 Node、npm package.json bower bower.json,.bowerrc(bower的配置文件) gulp gulpfile.js git .gitignore babel .babelrc

2017-03-16 23:01:27 559

转载 常用的gulp插件

HTML&CSS autoprefixer - parse CSS and add vendor prefixes to rules by Can I Use.gulp-browser-sync - keep multiple browsers & devices in sync when building websites.gulp-useref - parse build blocks in

2017-03-13 10:42:09 495

转载 使用Benchmark.js和jsPerf分析代码性能

前言 前端开发中,掌握好浏览器的特性进行有针对性的性能调优是一项基本工作,同时,比较不同代码的执行速度也是一项关键的工作。比如,当我们想比较RegExp的test方法和String对象的indexOf方法查找字符串谁的速度更快的话,js代码在不同的浏览器,不同的操作系统环境运行的效率可能是不一样的,这就是为什么我们需要对其进行基准测试,在做基准测试方面,我们可以使用Benchmark.js和使用j

2017-03-12 11:34:57 1753

转载 CSRF攻击方式

一.CSRF是什么?  CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么?  你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,

2017-03-12 10:34:59 277

原创 实现JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制

Object.prototype.clone = function(){ var o = this.constructor === Array ? [] : {}; for(var e in this){ o[e] = typeof this[e] === "object" ? this[e].clone() : th

2017-03-09 20:47:19 536

原创 清除浮动的方法

清除浮动的方法浮动元素脱离文档流,不占据空间。浮动元素碰到包含它的边框或者浮动元素的边框停留。1.使用空标签清除浮动。这种方法是在所有浮动标签后面添加一个空标签 定义css clear:both. 弊端就是增加了无意义标签。2.使用overflow。给包含浮动元素的父标签添加css属性 overflow:auto; zoom:1; zoom:1用于兼容IE6。3.使用after伪对象清除浮动。该方法

2017-03-09 20:28:03 815

原创 Web前端代码构建优化

前言 本次所做的构建针对于iVMS-5200 Professional 车载 1.0项目的前端工程。在现在化Web开发情况下,越来越注重用户体验,具体包括网站的访问速度,页面的自适应,页面操作的流畅度。如何做到更快,对前端开发人员尤为重要。依据Yahoo经典的性能优化建议,包括减少HTTP请求、使用CDN、使用gzip压缩、精简CSS和JS等等,前端不仅需要再开发过程中对代码进行优化,同时需要在发

2017-03-07 09:21:29 746

原创 AngularJS开发前端表格组件

AngularJS开发前端表格组件 1. 前言 在开发车载项目新版本时,由于采用了新的扁平化视觉,所以以前的框架渐渐不适用。于是在以AngularJs为基础的前端工程上开发表格组件。实现各种需求,比如排序,改变宽度,分页,刷新,搜索,勾选等等。 2. 视觉设计 以下是表格的视觉规范图:1.线性列表: 2.复合列表: 3.展开式列表: 代码构建及思路分析 1) 将表格作为一

2017-03-07 09:19:27 2760

原创 AngularJs学习笔记

使用config对服务进行配置时,需要用provider来定义服务config需要再provider函数之后执行,否则报错调试阶段尽量使用非压缩的,错误信息会比较详细Select可以使用ng-option来代替ng-repeat的操作,格式是o.key for o in array,当数据源是对象不是数组时,那就是 key for (key,value) in objectng-repeat

2017-03-07 09:11:47 338

转载 protobuf.js如何读取二进制数据

How to read binary data in the browser or under node.js?When reading/writing binary data in the browser or under node.js, it is mandatory to understand that just reading it (as a string) is not enough.

2017-03-07 09:10:52 3650

转载 html 中 div不定宽度如何水平居中的解决方案

传统的水平居中样式 margin: 0 auto; 这个方法要求使用这个样式的dom元素,必须同时定义宽度width. 如果dom元素内容是不固定的,那么就无法定义宽度.所以这个地方就很难弄. 经过多次摸索终于找到解决方案. 经过测试发现兼容性还行..SecondMenuBody{ display: table; /*重点就是这个属性,这个样式会告知浏览器当前元素的宽度,采用最小的宽度.不

2017-03-07 09:09:48 419

原创 angular内置事件

angular内置事件$includeContentLoaded($emit事件)ngInclude内容重新加载的时候,从ngInclude指令触发$includeContentRequested($emit事件)从调用ngInclude的作用域上发送,每次ngInclude的内容被请求的时候,都会发布该事件$viewContentLoaded($emit事件)当ngView内容被重新加载时,从ng

2017-03-07 09:08:35 875

转载 JSONP的原理

那JSONP是如何工作的呢,我们知道,由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源。若要跨域请求出于安全性考虑是不行的,但是我们发现,Web页面上调用js文件时则不受是否跨域的影响,而且拥有”src”这个属性的标签都拥有跨域的能力,比如function CallWebServiceByJsonp() { $("#SubEquipmentD

2017-03-07 09:07:18 374

原创 判断是否是IE浏览器,包括IE10,IE11

function isIE() { //ie? if (!!window.ActiveXObject || "ActiveXObject" in window) return true; else return false;}注意:但IE11的userAgent里是没有MSIE标志的或者function isIe(){ return /msie/.test(naviga

2017-03-07 09:06:15 796

转载 JS解析二进制图片

HTML代码:<div id="forAppend" class="demo"></div>JS代码:var eleAppend = document.getElementById("forAppend");window.URL = window.URL || window.webkitURL;if (typeof history.pushState == "function") { v

2017-03-07 09:05:47 10446

原创 当一个页面中含有多个ng-app的时候

当一个页面含有多个ng-app的时候,如果ng-app没有定义名称,那么就可以自动加载,如果定义了名称,那么需要用angular.module加入,且后面的需要angular.bootstrap加载。 angular.bootstrap 手动启动AngularJS如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"

2017-03-07 09:05:09 324

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除