このアプローチが構造的に健全かどうかを知りたいだけでした。ランタイム中に動的に読み込まれるスクリプトでJavaScript関数を上書きする
私はinitでロードされるmain.jsと、実行時に(一度に1つずつ)読み込まれる動的外部スクリプトを持っています。 main.jsにはサーバーから受け取ったメッセージを処理する必要があるたびに呼び出される関数があります。この関数は外部スクリプトのカスタムハンドル関数を呼び出すことができます。これを行うには関数を指定しています新しいスクリプトがロードされるたびにmain.jsの関数を上書きするように、外部スクリプトに同じ名前を付けます。私の試験から
それはいくつかの注意点と、動作しているようですので、私はいくつかの質問を持っている:
はこのような何かを行うには良い方法はありますか?
この方法では何が起こる可能性がありますか?
リフレッシュ/ナビゲーションなしでスクリプトをキャッシュから消去することはできませんが、スクリプトのサイズは比較的小さいので、これは問題にはならないと思います。詳細と
編集:
私は、ナビゲーションは問題外であるので、これは、単一のページ構造を持っている必要があります。私はまた、サーバがメッセージを送信するまで次の "ページ"が何であるかを知らないので、AJAXで実行時にリソースを取得する必要があります。
OKを私はそれを呼ぶ。 – zeion
これで元の関数は上書きされず、メインjsの両方の関数で使用する変数を定義し、実際に切り替えが必要な部分に切り替えることができます –