當前位置:首頁 » 硬碟大全 » 載入js防止緩存
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

載入js防止緩存

發布時間: 2022-07-02 16:43:09

A. js緩存問題怎麼解決

有時候在更改js文件後,頁面並沒有及時顯示出來,可能由於修改的文件不對,或者存在緩存問題。
面對的緩存問題有兩個:
一是頁面引入的js文件緩存。
二是js請求後台的緩存。
解決方法:
對於第一種情況,有兩種處理方式:1、可以在頁面引入的js文件後面增加日趨,如果不經常改動的文件,可以在每次改動後修改後綴。<script type="text/javascript" src="scripts/jquery-1.5.2.min.js?version=1"></script>
2、修改js文件的名字,如<script type="text/javascript" src="scripts/jquery.js"></script>
對於第二種情況,一般的處理方式是在請求的路徑後面加上毫秒值,這樣每次請求的路徑都不一樣,但是對於後台來說都是一樣的,用來欺騙瀏覽器,進行實時請求,不調用瀏覽器緩存。

B. 如何讓瀏覽器不載入緩存CSS和JS

我們在網頁製作中會碰到如果我上傳js,css之後用戶以前打開過頁面那麼這樣不會載入新的css或js文件而是載入緩存中的文件,那麼我要怎麼讓瀏覽器不載入緩存CSS和JS呢?下面一聚教程小編來給各位介紹。

現在大多數瀏覽器都會緩存網站上的圖片、CSS 和 JS 文件,以提高載入速度。當你的網站修改 CSS 和 JS 的時候往往因為緩存的原因無法立刻生效。

這樣舊的 CSS 和新的 Html 就可能會導致錯誤,這里有個小技巧,可以保證瀏覽器不會緩存 CSS 和 JS,只需要在文件結尾隨便加點參數即可,這樣瀏覽器就會認為這是不同的文件。
代碼如下
復制代碼

<link rel="stylesheet" type="text/css" href="/style.css?ver=123" />

如果用 PHP 把現在的時間作為版本號,這樣每次都會重新載入:
代碼如下
復制代碼

<link rel="stylesheet" type="text/css" href="/style.css?ver=<?php echo time(); ?> " />

當然這樣做會付出代價,完全打破瀏覽器的緩存機制,導致每次都會重新載入相同的 CSS 和 JS

最好的解決方案應該是只有在 CSS 和 JS 文件被修改的時候才會重新載入。這里要介紹一個 PHP 的 filemtime() 函數,filemtime() 函數可以返迴文件最後被修改的時間,這樣只有在修改文件的時候版本才會變化。
代碼如下
復制代碼

<?php $css = '/style.css' ?>
<link rel="stylesheet" type="text/css" href="?ver=<?php echo $css . filemtime( $css ); ?>" />

WordPress

如果你使用 WordPress,可以通過 WordPress 提供的腳本排隊機制掛載腳本:
代碼如下
復制代碼

$css = get_stylesheet_directory() . '/css/style.css';
wp_enqueue_style( 'style', $css, NULL, filemtime( $css ) );

C. 如何讓html頁面不緩存,js永久緩存

當瀏覽不同Url時,瀏覽器會自動將當前訪問的地址進行一次緩存;而第二次訪問時著調用緩存下來的頁面,從而達到頁面快速載入(頁面載入優化)的目的;
因此,我們可以給頁面後面設定個不同的值,讓頁面保持沒錯訪問的不同即可達到不緩存的目的了!
下面是個簡單的示例:

復制代碼 代碼如下:
<script>
document.write("<script type='text/javascript' src='/js/test.js?"+Math.random();+"'></script>");
</script>

其他的類似,只需在地址後加上+Math.random()
注意:因為Math.random() 只能在Javascript 下起作用,故只能通過Javascript的調用才可以
最後加一個ajax也不讓緩存的方法

復制代碼 代碼如下:
xmlHttp.open("GET", "ajax.asp?now=" + new Date().getTime(), true);

記得後面的now=" + new Date().getTime()是重點,需要帶參數的。
希望本文所述對大家的javascript程序設計有所幫助。
以上是雲棲社區小編為您精心准備的的內容,在雲棲社區的博客、問答、公眾號、人物、課程等欄目也有的相關內容,歡迎繼續使用右上角搜索按鈕進行搜索js , html , 頁面 不緩存 javascript 緩存、javascript 清除緩存、javascript緩存數據、javascript 本地緩存、javascript 緩存機制,以便於您獲取更多的相關知識。

D. Js 代碼中,ajax請求地址後加隨機數防止瀏覽器緩存的原因

看到別人寫的JS,ajax請求地址後加隨機參數,比如XXXX?t=
+
new
Date().getTime()。
一開始搞不懂為什麼,網上查了資料,原因是防止瀏覽器緩存。
瀏覽器為了提高用戶訪問同一頁面的速度,會對頁面數據進行緩存。當url請求地址不變時,
有時候會導致瀏覽器不發送請求,直接從緩存中讀取之前的數據。
如果數據改變了,而沒加隨機數,讀取的數據會跟之前一樣。
加上隨機數,就是欺騙瀏覽器url改變了,會每次都向伺服器發送請求而不去讀緩存

E. js增加隨機數後綴禁止緩存 具體怎麼實現

<script>
document.write("<script type='text/javascript' src='/js/test.js?"+Math.random();+"'></script>");
</script>

F. 郁悶,JS被緩存,怎麼讓瀏覽器不緩存

你好朋友你可以使用360安全瀏覽器無痕模式,這樣就不會被緩存。

G. 如何防止js和css緩存

解決辦法一:每次修改js或css文件後,都要手工修改那個版本號,注意:是每修改一次(哪怕僅僅是改了一個字元)都要修改版本號;
解決辦法二:如果嫌手工修改太麻煩,那可以通過程序來自動修改(用隨機數做版本號)。如果你的網站是動態的,那可以通過後台程序來改,比如ASP的:
<link rel="stylesheet" href="static/mimi/css/main.css?v=<%=rnd()%>" type="text/css"/>

PHP的:
<link rel="stylesheet" href="static/mimi/css/main.css?v=<?php echo mt_rand(); ?>" type="text/css"/>

如果是靜態網站那就要js腳本來實現了,這個稍微麻煩點,這里就不說了。
其實上述方法一和方法二的目的都是為了使每次打開的js或css的url不同,這樣瀏覽器就不會去緩存區取數據,而是直接到網站下載。
如果上述方法仍然無效,那就是你的瀏覽器的緩存機制存在問題,比如「從不檢查網頁的新版本,除非手動刷新」,這個就要你自己去設置了。

H. js文件改變之後瀏覽器緩存問題怎麼解決

辦法①改完js文件後,在js路徑後加一個參數,每次改完js文件後,參數改變一下,如src="js路徑?v=1.1"改成src="js路徑?v=1.2";
辦法②在src里的路徑加系統時間參數:t=system_time(),即src="js路徑?t=system_time()"

I. 靜態網站如何防止js和css緩存

加令牌,如果網站使用WAF防護,比如ShareWAF,就有加令牌的功能,

也可以用JShaman給js代碼加密,

J. 如何防止HTML頁面里JS文件的緩存

網頁鏈接這篇文章你可以看一下