2012-08-08 78 views
0

我有一个页面可以在任何特定时间包含不同的内部页面。卸载加载Headjs的JS文件

每个内部页面都需要一个特定的js文件,该文件正在使用Headjs动态加载。

为了避免碰撞(方法和对象名称),我想在加载一个新的js文件之前卸载旧的js文件。

有谁知道该怎么做,或者甚至有可能吗?谢谢!

回答

0

不,理论上没有什么像“卸载”JavaScript文件。一旦它的所有时间装载在那里。

但可能有其他的技巧来避免“碰撞”,主要是干净的代码。您的案例的一些例子将是 1-名称空间的使用 2-避免全局变量 3-定义范围内的所有内容并理解范围 4-使用可理解的描述性变量名称,避免名为s,i,j等的变量除非你已经习惯了,并知道在做什么。也请注意,因为JavaScript文件在请求页面时被加载,所以它会导致额外的流量使用巨大的变量和类名。

比方说你有相同名称的功能,但生活在不同的范围/命名空间 例子:

var myclass; 
if (something) myclass = Obj1; 
else if (somethingelse) myclass = Obj2; 
myclass.func(); 

所以在这里你去,两个函数名称相同,但居住在不同classes.and所以你

希望不同的实现之间可以切换这有助于

+0

问题是我需要一些方法具有相同的名称,因为“outter页面调用的特定方法的名称,这是在每个内PAG实现方式不同即& 感谢你及时的答复! – talr 2012-08-08 14:09:16

+0

我正在寻找所有的选项。似乎有些人可以回答这个问题。我会回答的答案。 – talr 2012-08-08 14:23:20

+0

请看更新的答案 – 2012-08-08 15:14:02