簡體   English   中英

清除緩存的 JavaScript 包含在 Firefox 中

[英]Clear cached JavaScript includes in Firefox

我正在為一個站點使用 JavaScript,使用 Firefox 進行開發,當我刷新頁面時,我看不到我的更改。 JavaScript 文件位於外部文件中。 我重新加載並刷新了頁面幾次,但舊的 JavaScript 文件仍然被緩存。 最后,我直接在瀏覽器中加載了 JavaScript 頁面,看到了舊腳本,點擊“重新加載”,看到了我的更改。

如何清除緩存的外部 JavaScript 文件? 當我告訴客戶端進行了更改時,我也需要知道這一點,以便他們看不到舊的緩存功能。

在 Firefox 中暫時繞過緩存:

  • 按住shift鍵的同時單擊重新加載按鈕。
  • Ctrl + F5
  • Ctrl + Shift + R或 Cmd+ Shift + R
  • 對於其他瀏覽器

一些網絡托管服務緩存頁面服務器端。 繞過緩存時,Web 瀏覽器將發送一個標頭,告訴服務器它不應使用緩存數據進行響應。

在 Firefox 中,您可以安裝一個名為Web Developer Toolbar的插件,它有一個appcache clear命令

我認為沒有辦法以編程方式做到這一點,但你可以使用類似的東西給瀏覽器一個提示

<script type="text/javascript" src='js/my.js?x=<?php echo rand(0,100) ?>'></script>

瀏覽器具有面向用戶的工具來清除緩存。 通常它是某個地方的菜單選項。 您不能強制清除緩存。

可以做的是安排您的腳本從根據版本號(或其他)而變化的 URL 加載:

<script src='http://your.site.com/js/big_script.js?version=2'></script>

現在,當您更新代碼時,您會更新使用它的頁面:

<script src='http://your.site.com/js/big_script.js?version=3'></script>

這是一個不同的 URL,它不會在緩存中。

一種非常流行的技術是使用查詢字符串參數。 看起來像

<script src="http://www.somedomain.com/foobar.js?v=1></script>

如果將此行更改為v=2 ,則瀏覽器將重新加載之前緩存的腳本。

禁用 js 緩存:開發工具 (F12) > 網絡 > 禁用緩存

然后刷新頁面: F5

Shift-reload 通常會更積極地清除緩存。 但是,您真的不想依賴於此。 一個好的技術是對外部 Javascript 的文件名進行版本控制,並在您修改時更新引用它們的 HTML。 這樣,您也可以更好地依賴緩存(例如,在您的網絡服務器中將緩存標頭設置為“公共”,並指定較長的過期時間)。

禁用 Angular.js 分解: Dev tools (F12) > Debugger > [Settings Icon] >取消選中Source Maps

然后您可能需要重新啟動 Firefox。

Source Maps 阻止我調試修改后的應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM