光域

<html/>

Backbone源码学习 — Backbone.View

前面已经对backbone中的Event、Model、Collection代码进行了分析,现在我们来看下MVC中的V部分,也就是Backbone.View,View在Backbone中主要用于沟通页面中的DOM和Backbone.Model/Collection,页面的逻辑操作,DOM事件的绑定等,View部分的代码非常简答,加上注释只有110左右。 View部分有一下API:

Backbone源码学习 — Backbone.Collection

今天我们继续来说说Backbone MVC中的 M,如果说前面介绍的Backbone.Model像是数据库中的一条记录的抽象的话,那么今天要聊的Backbone.Collection 就像是由若干条Backbone.Model组成的一个数据库表,其api和使用方法和Backbone.Model相似,主要是对models集合进行操作,以下为Backbone.Collection提供的API:

Backbone源码学习 — Backbone.Model

今天我们来谈谈Backbone.js MVC 中的 M , Model是backbone的核心部分,包含着页面展示内容的数据,还有围绕着数据操作的各种 转换,校验,计算 ,权限控制,服务端交互等等操作,你可以通过 Backbone.Model.extend() 生成你的model , 当然生成的model也可以作为一个基类去向下扩展更多的model

1
2
3
4
5
6
7
   var People = Backbone.Model.extend({
          
  });

  var Man = People.extend({

  });

Backbone源码学习 — Backbone.Events

Backbone.Events为Backbone的核心部分,它在backbone的其他部分(View、Controller、Model …)被使用,在Backbone的MVC中作为Controller存在,通过事件机制对数据和视图进行控制。

chrome.webRequest 研究

今天说下 chrome.webRequest 的 api 用法, 这个api主要用于处理网络的请求,对应到特定情境中对特定匹配的网络请求进行分析处理,chrome.webRequest api 由九个事件组成,这九个事件是一个网络请求生命周期中的九个不同的阶段,可以说控制的粒度已经很细,基本可以覆盖到特定的时间点。这套api提供了很强大的请求控制功能,因此如果代码有问题,那么后果可能相当严重,在配置manifest.jsonpermission时要注意,最好能够指定到特定的url规则中去,而不是 http://\*\*/\*https://\*\*/\*,这样如果代码出现逻辑错误,那么可能整个浏览器就不能用了,比如你把所有的url都重定向到 一个错误的url去,那么你的浏览器就呵呵了。

chrome.tabs 的事件研究

这边文章主要对chrome.tabs 中的事件接口进行介绍,前半部分将对主要的事件接口的用法,场景进行介绍,后半部分将对一些常用的操作中说触发的事件进行解剖

内容安全策略(CSP)

简介

Content Security Policy(CSP) 是一种计算机安全的概念 , 用来防御跨站脚本攻击(XSS) , 现在他是W3C网络应用安全的候选标准,CPS 提供了一种标准的HTTP头让网站去声明允许那些资源加载到自己的网页之中 , 能够控制到 JavaScript , CSS , HTML , Frames , fonts , image , embeddable object , Java applets , ActiveX , audio 和video 等类型的资源。CSP 刚开始是由 Mozilla 基金会 制定并实现在 Firefox4 中,下面为CSP各种部分实现的版本:

  • Content-Security-Policy : W3C推荐的标准的头部命名 , 被 Chrome 25 , Firefox 23 支持。
  • X-WebKit-CSP : 在 2011 年被Chrome和基于WebKit内核的浏览器所支持。
  • X-Content-Security-Policy : 被 Gecko2 内核的浏览器Firefox 4 、Thunderbird 3.3 SeaMonkey2.1 支持。在 IE10 和 IE11 的沙箱模式中也支持这种头部。 另外一些框架也支持CSP , 例如 AngularJsDjango