我试过这个,但用户需要点击两次后退按钮,一个用于更改后面的哈希值,另一个用于备份iframe内容:
(打字稿)
this.iframeApp.load(() => {
if (this.sameDomain()) {
window.location.hash = this.iframeApp[0].contentWindow.location.toString();
} else {
window.location.hash = this.iframeApp.prop('src');
}
});
开始时:
var url = window.location.hash;
if (url.length > 1) {
url = url.substring(1);
} else {
url = this.settings.default;
}
this.openPage(url);
我认为历史Api无济于事。我需要一些适用于IE9的东西
答案 0 :(得分:0)
试试这个:
this.iframeApp.load(() => {
if (this.sameDomain()) {
window.location.replace(window.location.toString() + '#' + this.iframeApp[0].contentWindow.location.toString());
} else {
window.location.replace(window.location.toString() + '#' + this.iframeApp.prop('src'));
}
});
使用 replace()方法,您无法返回上一个网址,因此您的用户只需按一下后退按钮。