У меня есть iframe
, в котором pushState
запускается, чтобы предоставить пользователю возможность просматривать назад и вперед. К этому iframe применено некоторое преобразование, и родительское окно реагирует на движение мыши, обновляя perspective-origin
.
В Safari все нормально, но при просмотре истории в Chrome макет родителя ужасно ломается. Мне это кажется безумием, так как содержимое iframe никогда не должно влиять на макет родительского окна.
Для проверки вы можете просмотреть несколько вкладок внутри iframe, а затем нажать кнопку «Назад» в браузере. Также обратите внимание, что если вы перейдете на вкладку «Люди» и откроете любого из людей с изображением, кнопка «Назад» в левом верхнем углу вызовет ту же функцию, привязанную к pop state
(furnax.goBack), не затрагивая родительское окно.
Либо это ошибка, либо просмотр истории делает больше, чем я думаю.
Я надеюсь, что у кого-то есть понимание.
Обработчик всплывающего состояния:
$(window).on("popstate", function () {
if (furnax.popStoryEnabled) furnax.goBack();
});
Функция возврата:
goBack: function () {
var myHistory = tempDb.getItem("prev").split(",");
var to = "";
if (myHistory != "") {
to = "#" + document.getElementById(myHistory[myHistory.length - 1]).id;
} else {
to = "#" + $(".view").first().attr("id");
}
furnax.load(to, "pushright", true);
myHistory.pop();
tempDb.setItem("prev", myHistory.toString());
},