[坑]奇怪的瀏覽器快取
有時候為了網站的開啟速度,會加入快取這一點其實不奇怪
除了本身瀏覽器的快取,也有 Proxy 或 CDN 之類的快取
簡單來說就是不常變動的內容就不需要跟伺服器端再索取一次
那麼今天要敘述的坑就是
某些瀏覽器連HTML控件狀態也一起幫忙快取了
到底是怎麼回事呢?
來看以下的程式碼
<!DOCTYPE html>
<html>
<head>
<title>Hole</title>
</head>
<body>
<input type="checkbox" checked />
<br />
<select>
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
</select>
<br />
<input type="radio" name="r" />
<input type="radio" name="r" checked />
</body>
</html>
接下來請看以下GIF
影片一開始所有的控件都是依據HTML的狀態 selected 和 checked
使用者更動後一般情況下重新整理(F5),如果沒有特別處理過,理應恢復到原本的狀態
但影片中的瀏覽器依然會維持住上一次更動的部分,除非強制刷新
下表列出會有此現象的瀏覽器
Chrome | FireFox | IE | Edge Radio控件會有奇怪狀況 |
X | O | O | O |
目前試驗出來有此狀態的前提條件是 html副檔名 及 沒有副檔名的網址
- 127.0.0.1/hole.html
- 127.0.0.1/hole