您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Web开发 >> (javascript)在每个页面都只引用同一个js情况下如何根据不同的页面来执行不同的$function{}呢

(javascript)在每个页面都只引用同一个js情况下如何根据不同的页面来执行不同的$function{}呢

来源:网络整理     时间:2016/6/1 11:27:57     关键词:function

关于网友提出的“(javascript)在每个页面都只引用同一个js情况下如何根据不同的页面来执行不同的$function{}呢”问题疑问,本网通过在网上对“(javascript)在每个页面都只引用同一个js情况下如何根据不同的页面来执行不同的$function{}呢”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:(javascript)在每个页面都只引用同一个js情况下如何根据不同的页面来执行不同的$function{}呢
描述:

//moduleA.js
      var moduleA = (function(){
        })();
      $().on.("",moduleA.foo);

//moduleB.js
      var moduleB = (function(){
        })();
      $().on.("",moduleB.foo);

最后打包成一个min.js
但是每个页面都有一些$(function(){})要执行,
怎样根据不同的页面来执行不同的$(function(){})呢??

PS.另外感觉模块化与$(function(){})这种东西很冲突,因为这个东西不是一个模块,
以及那些$().on()事件绑定看起来也很不舒服,应该把他们放在那里?内联吗?如何优化?


解决方案1:

最暴力的方法,通过location.href获得当前url,根据url的pattern决定执行那些代码

解决方案2:

时间不足回答,提供几个关键词,给你学习吧
commonJS:一种js模块化的标准,nodejs在用
gulp:自动化构建工具
borwserify:将多个js打包成一个js的玩意儿

解决方案3:

你把$(function(){})初始化代码放在不同的js中
在不同的页面引入这个js文件
例如
A页面,Ainit.js B页面 Binit.js
同时将不同的模块按页面划分,每个页面min自己需要的module
A页面



B页面



$(function(){})是用来执行初始化工作,执行页面上DOM元素事件绑定使用的
而不是通过它了模块化,$().on()事件绑定要放在和页面DOM相关的模块中

你可以把业务相同的逻辑封装在一个业务模块(LogicModule)中,
和页面DOM相关的逻辑,如事件绑定,封装在DOM模块(ViewModule)中
不同的模块通过第三者,例如自定义事件执行数据通讯,或者再ViewModule中引入LogicModule处理,
但是不要在LogicModule中引入ViewModule


以上介绍了“(javascript)在每个页面都只引用同一个js情况下如何根据不同的页面来执行不同的$function{}呢”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1445514.html

相关图片

相关文章