0

I have a page that could contain a different inner page at any specific time.

Each inner page needs a specific js file, that is being loaded dynamically using the Headjs.

To avoid collisions (of methods and object names), I would like to unload the old js file before loading a new one.

Does anyone know how to do it, or if it is even possible? Thanks!

4

1 に答える 1

0

いいえ。理論的には、javascript ファイルを「アンロード」するようなものはありません。ロードされると、常にそこにあります。

しかし、「衝突」を回避するための他のトリック、主にきれいなコードがあるかもしれません。あなたの場合のいくつかの例は次のとおりです。それに慣れていて、何をしているかを知っています。また、ページが要求されたときに JavaScript ファイルが読み込まれるため、変数やクラスに巨大な名前を使用する余分なトラフィックが発生することに注意してください。

同じ名前の関数があるが、異なるスコープ/名前空間にあるとしましょう 例:

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

これで、同じ名前の 2 つの関数が別のクラスに存在するので、異なる実装を切り替えることができます。

お役に立てれば

于 2012-08-08T14:00:00.127 に答える