Ja, der Safari-Browser verarbeitet den Cache für Zurück- / Vorwärtsschaltflächen nicht wie Firefox und Chrome. Insbesondere iframes wie vimeo oder youtube videos werden kaum zwischengespeichert, obwohl es eine neue iframe.src gibt.
Ich habe drei Möglichkeiten gefunden, damit umzugehen. Wählen Sie das Beste für Ihren Fall. Auf Firefox 53 und Safari 10.1 getestete Lösungen
1. Ermitteln Sie, ob der Benutzer die Schaltfläche Zurück / Vorwärts verwendet, und laden Sie dann die gesamte Seite neu oder laden Sie nur die zwischengespeicherten Iframes neu, indem Sie den src ersetzen
if (!!window.performance && window.performance.navigation.type === 2) {
console.log('Reloading');
$('iframe').attr('src', function (i, val) { return val; });
}
2. Laden Sie die gesamte Seite neu, wenn die Seite zwischengespeichert ist
window.onpageshow = function (event) {
if (event.persisted) {
window.location.reload();
}
};
3. Entfernen Sie die Seite aus dem Verlauf, damit Benutzer die Seite nicht über die Schaltflächen Zurück / Vorwärts erneut aufrufen können
$(function () {
document.location.replace("/Exercises#nocache");
});