Obnovit iFrame (problém s mezipamětí)

Dostáváme podivný problém, u kterého si nejsme jisti, co přesně to způsobuje. Dovolte mi, abych problém upřesnil. Předpokládejme, že máme dvě různé html stránky a.html a b.html. A malý skript napsaný v index.html:

<html>

<head>
    <script>
    function reloadFrame(iframe, src) {
        iframe.src = src;
    }
    </script>
</head>

<body>
    <form>
        <iframe id="myFrame"></iframe>
        <input type="button" value="Load a.html" onclick="reloadFrame(document.getElementById('myFrame'), 'a.html')">
        <input type="button" value="Load b.html" onclick="reloadFrame(document.getElementById('myFrame'), 'b.html')">
    </form>
</body>

</html>

Serverová komponenta průběžně aktualizuje oba soubory a.html a b.html. Problém je v tom, že obsah obou souborů se úspěšně aktualizuje na straně serveru. Pokud otevřeme, můžeme vidět aktualizované změny, ale klient získává starší obsah, který nezobrazuje aktualizované změny.

Nějaký nápad?

Odpověď

Přidejte to do a.html a b.html

<head>
    <meta http-Equiv="Cache-Control" Content="no-cache" />
    <meta http-Equiv="Pragma" Content="no-cache" />
    <meta http-Equiv="Expires" Content="0" />
</head>

Vynutit žádné kontroly mezipaměti