私はプランナーのような遊び場を作ろうとしています。私はちょうどlocalhost
でうまく動作するのに対し、Cloudflareではactive mode
と非常に奇妙な動作に気づいた。 iframe
ことでiframeのsrc内の外部ファイルが(CloudFlareで)キャッシュされないようにします。
、他のファイル(例えば、.html
、.js
、.css
)へのリンクが含まれていてもよい遊び場プレビューindex_internal.html
。 iframe
は、<script src="script.js"></script>
のような外部リンクを解釈することができます。
したがって、各時間は、ユーザーが自分のファイル(例えば、script.js
)を変更し、エディタ上の私のプログラムは、サーバー上の一時フォルダに新しいファイルを保存し、その後、iframe.src = iframe.src
ではiframeをリフレッシュし、それがlocalhost
に適しています。
しかし、私は生産で、ブラウザは常に、ユーザーがエディタでそれを変更し、新しいバージョンがサーバ内のフォルダ内に書かれているにもかかわらず、初期script.js
をロードし続ける、ということに気づきました。たとえば、Dev Tools ==> Network
に表示されているものは、常にscript.js
の初期バージョンですが、サーバーに保存されているscript.js
の新しいバージョンを確認することはできますが、左側にはless
と表示されています。
誰がこのような理由を知っていますか?それを修正する方法は?
編集1:
私はscript.js
では動作しませんでした次のことを、試してみました:
var iframe = document.getElementById('myiframe');
iframe.contentWindow.location.reload(true);
iframe.contentDocument.location.reload(true);
iframe.contentWindow.location.href = iframe.contentWindow.location.href
iframe.contentWindow.src = iframe.contentWindow.src
iframe.contentWindow.location.replace(iframe.contentWindow.location.href)
私はそれがindex_internal.html
と協力し、バージョンを追加しようとしましたが、再読み込みしませんでしたscript.js
:
var newSrc = iframe.src.split('?')[0]
iframe.src = newSrc + "?uid=" + Math.floor((Math.random() * 100000) + 1);
Cloudflareをdevelopment mode
に変更すると、script.js
がリロードされますが、Cloudflareをactive mode
に保存します。