スクリプトがロードされたら<script>
、ページから要素を削除しても、変数/関数はそのまま残ります。
UIを処理し、ユーザーが好みに基づいて選択できる2つのバージョンの関数があるとします。
ページ全体はAJAXベースです。理想的には、ユーザーが明示的に行わない限り、リロードしないようにする必要があります。そのため、呼び出しlocation.reload()
は問題外です。
私が持っているアイデアはこれです:
<script type="text/javascript" src="ui1.js" id="uiscript"></script>
次に、単に変更します。
document.getElementById('uiscript').src = ...;
どちらのファイルも次の形式です。
var ui = function(...) {
...
};
だから私の質問は、2つのソースを切り替えると機能が確実に変わるのでしょうか?スクリプトがキャッシュされている場合でも?キャッシュバスティングクエリ文字列を追加したほうがいいでしょうか?または、このアイデアを完全に放棄して、スクリプトのソースを変更するのではなく、コールバックで関数を書き直すなど、別のことを行う必要がありますか?
このようなものに関する他の提案はありますか?