2013-02-21 80 views
3

我正在開發一個網站,並且遇到了一個非常令人不安的問題。我的代碼不會在任何瀏覽器中刷新,這意味着不僅僅是Internet Explorer,還有Google Chrome和Firefox。瀏覽器不會反映html文件中所做的更改

的事情是,在以前版本的HTML文件,我曾與在它(<a href="">Send request</a>)鏈接一個div。今天,我已將該鏈接更改爲段落(<p>Send request<p>)。

當我加載我的頁面時,它仍然顯示鏈接。當我將該段落註釋掉並重新加載頁面時,沒有鏈接,我的段落已被檢出。我在Chrome中檢查了源文件,是的,源文件是正確的。但是,瀏覽器仍然顯示不存在的鏈接,並且刪除瀏覽器歷史記錄也無濟於事。

任何想法?

+1

聽起來像服務器上的緩存問題。 – Lowkase 2013-02-21 18:55:34

+0

嘗試關閉Chrome中的緩存。 – bobber205 2013-02-21 18:56:41

+0

如果清除瀏覽器的緩存,會發生什麼情況?你可以做的是後綴所有的資源'?time = <?php echo microtime(true);例如:

1

如果您使用的是Firefox安裝分機稱爲web developer

然後進入禁用 - >禁用緩存 - >禁用整個緩存。

如果您使用的是Chrome或Chrommium開放開發螢火蟲(F12),然後進入設置(底部,右),使文本「禁用緩存」複選框。

在兩種情況下記住與對照+移+ R(不同的時間:P)再充電的網頁。

並且記住當你結束工作時禁用這個選項。

+0

謝謝...我安裝了插件,並使用CTRL + SHIFT + R刷新了約20次的頁面,但它仍然不反映對HTML文件所做的最新更改... – 2013-02-21 19:06:56

+0

你有沒有啓用(禁用緩存選項)我在解決方案中說的? – 2013-02-21 19:08:54

+0

是的。緩存已被禁用。 – 2013-02-21 19:15:51

0

另一個訣竅是在您的html標籤後添加一個錯誤的查詢,並強制瀏覽器獲取一個新頁面。

例如:

MySite.html - > MySite.html Q = 1,MySite.html當q = 2,MySite.html q = 3的,等等???。

正如其他人所說,它似乎是緩存您的主機提供商已啓用。

3

問題可能是由於您的瀏覽器緩存HTML頁面。 這個問題可以通過以下方法避免 -

  • 清除瀏覽器的緩存

  • 如的mypage.html嘗試使用虛假查詢?random = 6 此方法會使瀏覽器完全在GET請求上重新載入頁面。

  • 使用META標記如下

    <meta http-equiv="pragma" content="no-cache" /> 
    

    這有時是除了如下

    <meta http-equiv="expires" content="-1" /> 
    

    已經觀察到,有時上述兩種標記IE中忽略伴隨着另一元。 建議的解決方法是使用標籤兩次,即在頁面的開始和結束處。這是由於原因,因爲首先在頁面加載時由瀏覽器填充64K緩衝區。如果緩衝區未填充,則「雜注」將被忽略。將它放在文檔的末尾有利於不緩存。

相關問題