- 浏览: 197401 次
最新评论
文章列表
转自:http://www.2cto.com/kf/201604/498725.html
网站的划分一般为二:前端和后台。我们可以理解成后台是用来实现网站的功能的,比如:实现用户注册,用户能够为文章发表评论等等。而前端呢?其实应该是属于功能的表现。并且影响用户访问体验的绝大部分来自前端页面。
而我们建设网站的目的是什么呢?不就是为了让目标人群来访问吗?所以我们可以理解成前端才是真正和用户接触的。除了后台需要在性能上做优化外,其实前端的页面更需要在性能优化上下功夫,只有这样才能给我们的用户带来更好的用户体验。就好像,好多人问,男人在找女朋友的时候是不是只看外 ...
mini mvvm 简单实现版
- 博客分类:
- 研究实验
mini mvvm 简单实现版,代码有待改进
<html>
<head>
<title>mini-mvvm</title>
</head>
<body>
<div id='app'>
<p>
My name is {{firstName + ' ' + lastName}}, I am {{age}} years old.
</p>
</div>
<script type="text/javascript&q ...
puppeteer使用笔记 - NodeJS库
- 博客分类:
- 自动化测试
Puppeteer是谷歌官方出品的一个通过DevTools协议控制headless Chrome的Node库。可以通过Puppeteer的提供的api直接控制Chrome模拟大部分用户操作来进行UI Test或者作为爬虫访问页面来收集数据。
demo操作流程:
1.新建一个目录: mkdir pupdemo
2.进入到这个目录: cd pupdemo
3.初始化package.json, 运行命令:npm init (一路回车就好了)
4.安装Node依赖模块,运行命令:npm install --save-dev
5.新建index.js,源代码如下:
// 引入模块
...
sm2加密:
(function (global, undefined) {
"use strict";
var SM2CipherMode = {
C1C2C3: "0",
C1C3C2: "1"
};
var CryptoJS = CryptoJS || function (a, b) {
var c = {}
, d = c.lib = {}
, e = d ...
html5 crossorigin属性
- 博客分类:
- 数据分析与监控
使用步骤:
1.在html标签中加了crossorigin=“anonymous”属性
2.html标签中的src属性的资源服务器也需要开启cors验证,并允许引用页面的域名访问,否则页面无法加载这个JS
如:
Access-Control-Allow-Headers:
Origin, X-Requested-With, Content-Type, Accept, Range
Access-Control-Allow-Origin:
*
测试结果:
加crossorigin属性 | ...
客户端存储技术 - 笔记
- 博客分类:
- html/html5
cookie
每个域名50个,大小总计4kb是安全的
localStorage
sessionStorage
size: 5-10MB
window.onstorage 存储被改变的监听事件
e.originalEvent.newValue 新值
e.originalEvent.oldValue 旧值
兼容性: IE8...
indexDB (本地数据库)
size: 50MB+
ios 8对 indexDB的支持存在严重的问题,需要考虑兼容
兼容性: IE11...
Web SQL
si ...
借花献佛 : 《What really happens when you navigate to a URL》文章的大致内容如下:
输入地址
浏览器查找域名的 IP 地址
这一步包括 DNS 具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存...
浏览器向 web 服 ...
答:因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。但是,这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套!
于是下面三个模块规范出来了,这篇文章也出来了(拼出来的 {捂脸笑})。
JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已。 现在就看看吧,这些规范到底是啥东西,干嘛的。本文包括这三个规范的来源及对应的产物的原理。
一、CommonJS
sha1
/*
* A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
* in FIPS 180-1
* Version 2.2 Copyright Paul Johnston 2000 - 2009.
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
* Distributed under the BSD License
* See http://pajhome.org.uk/crypt/ ...
sha256
/*
* A JavaScript implementation of the SHA256 hash function.
*
* FILE: sha256.js
* VERSION: 0.8
* AUTHOR: Christoph Bichlmeier <informatik@zombiearena.de>
*
* NOTE: This version is not tested thoroughly!
*
* Copyright (c) 2003, Christoph Bichlmeier
* All rights reserved.
...
/*
* A JavaScript implementation of the SHA256 hash function.
*
* FILE: sha256.js
* VERSION: 0.8
* AUTHOR: Christoph Bichlmeier <informatik@zombiearena.de>
*
* NOTE: This version is not tested thoroughly!
*
* Copyright (c) 2003, Christoph Bichlmeier
* All rights reserved.
*
* Redist ...
如某些统计系统,在页面unload时,如果要上报当前数据,采用xhr的同步上报方式,会阻塞当前页面的跳转;使用new Image有可能遇到aborted,导致无法成功发送。
现在好了,可以使用浏览器来提供发送保障的更简洁的sendBeacon方法。sendBeacon是异步的,不会影响当前页到下一个页面的跳转速度,且不受同域限制。
window.addEventListener('unload', logData, false);
function logData() {
navigator.sendBeacon("/log", analytic ...
avalon可以兼容到ie6,貌似它的双向绑定是和vue一样用object的set和get实现的,那是如何实现兼容呢?还有一个问题,angular用了许多object对象的方法才不兼容ie的么,那么angular当初为什么不做兼容呢?脏检查机制完全可以做到兼容。或者说有什么技术使ng很难兼容呢?
https://www.zhihu.com/question/42001493?sort=created
司徒正美
JavaScript 话题的优秀回答者
...
Vue2 原理浅谈 - 分享自 @前端工程师
- 博客分类:
- 前端框架
本文重点讲述Vue2渲染的整体流程,包括数据响应的实现(双向绑定)、模板编译、virtual dom原理等,希望读者看完有所收获。
前言
此部分内容初步介绍前端主流框架部分特点,来提高大家对框架的认识,从而最后导出对vue2 ...
http://imweb.io/topic/56d40adc0848801a4ba198ce
Object.defineProperty ,顾名思义,为对象定义属性。在js中我们可以通过下面这几种方法定义属性
// (1) define someOne property name
someOne.name = 'cover';
//or use (2)
someOne['name'] = 'cover';
// or use (3) defineProperty
Object.defineProperty(someOne, 'name', {
va ...