首页 > 开发 > JS > 正文

javaScript嗅探执行神器-sniffer.js

2024-05-06 16:35:12
字体:
来源:转载
供稿:网友

一、热身——先看实战代码

a.js 文件

// 定义Wall及内部方法;(function(window, FUNC, undefined){ var name = 'wall'; Wall.say = function(name){ console.log('I/'m '+ name +' !'); }; Wall.message = { getName : function(){ return name; }, setName : function(firstName, secondName){ name = firstName+'-'+secondName; } };})(window, window.Wall || (window.Wall = {}));

index.jsp文件

<script type='text/javascript'> <% // Java 代码直出 js out.print("Sniffer.run({'base':window,'name':'Wall.say','subscribe':true}, 'wall');/n"); %> // Lab.js是一个文件加载工具 // 依赖的a.js加载完毕后,则可执行缓存的js方法 $LAB.script("a.js").wait(function(){ // 触发已订阅的方法 Sniffer.trigger({ 'base':window, 'name':'Wall.say' }); });</script>

这样,不管a.js文件多大,Wall.say('wall')都可以等到文件真正加载完后,再执行。

二、工具简介

// 执行 Wall.message.setName('wang', 'wall');Sniffer.run({ 'base':Wall, 'name':'message.setName', 'subscribe':true}, 'wang', 'wall');

看这个执行代码,你也许会感觉困惑-什么鬼!
注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表