2012-08-08 132 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