[13年迁移]jQuerySafe基于jQuery的安全模型,实现插件系统

和coco2dx学到的,John Resing大神的extend,应该是在最新的jQuery里用了的,那么继续继承jQuery对象,其实实现很简单

安全js插件系统的实现,只允许用户代码调用你提供的指定方法

 1 var excludeiframe=/iframe/;
 2 var jQuerySafe=jQuery.extend(jQuery,{
 3 this.SafeInit=function(){
 4 
 5 }
 6 this=function(a){
 7 if(typeof a ==fragment){//实际不能识别碎片对象,需要别的逻辑
 8 if(excludeiframe.test(a)){return alert("你不能使用框架,这不安全")}
 9 return this._super(a);
10 }
11 if(typeof a== function){
12 //这里要等跨域转接写好,触发ajax完成事件调这个给app初始化
13 }
14 return this._super("#yourArea").find(a);
15 }
16 this.parent=function(a){
17 this._super(a);
18 }
19 this.appent=function(a){
20 this._super(a);
21 }
22 this.fn.appentTO=function(a){
23 this._super(a);
24 }
25 });
26 function(){
27 window=null;
28 document=null;
29 jQuery=null;
30 ...一切的window成员
31    function($){
32    //插件区域
33    }(jQuerySafe)
34 }
35 
36 //扩展的唯一区域申请
37 jQuery.extend({
38 popup:function(){
39 
40 }
41 });

基于这个就可以做一个公开的javascript开发环境了,允许用户上传自己的javascript代码,调用你指定的接口

 

posted @ 2014-10-04 20:39  Frenzy  阅读(260)  评论(0编辑  收藏  举报