Javascript 由于iframe的导航,如何更改主URL?
我尝试了这一点,但用户需要单击“后退”按钮两次,一次更改“后退”哈希,另一次更改“后退”iframe内容: (打字稿) 一开始:Javascript 由于iframe的导航,如何更改主URL?,javascript,browser,browser-history,html5-history,Javascript,Browser,Browser History,Html5 History,我尝试了这一点,但用户需要单击“后退”按钮两次,一次更改“后退”哈希,另一次更改“后退”iframe内容: (打字稿) 一开始: var url = window.location.hash; if (url.length > 1) { url = url.substring(1); } else { url = this.settings.default; } this.openPage(url); 我认为历史Api不会有帮助。我需要一些能在IE9上工作的东西试试这个:
var url = window.location.hash;
if (url.length > 1) {
url = url.substring(1);
} else {
url = this.settings.default;
}
this.openPage(url);
我认为历史Api不会有帮助。我需要一些能在IE9上工作的东西试试这个:
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()方法,您无法返回到上一个url,因此您的用户只需按一次“上一步”按钮。有效,但我需要在创建新的url之前删除哈希。var urlWithouthash=window.location.toString().replace(/#.*$/,“”);是的,忘了提一下:-)
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'));
}
});