您可以侦听 iframe 的 onLoad-event 并获取内部页面的当前 URL。
var iframe = document.getElementById("myframe"); // That's our iframe
iframe.addEventListener("load", function() {
var currentURL = iframe.contentDocument.URL; // The current URL of the page inside the iframe
});
然后,您可以使用此 URL 执行您需要的操作。您还可以在浏览器 URL 栏中使用 更改 URL window.history
。
// Inside the onLoad-event of the iframe
window.history.pushState({}, "", "?framepage=" + currentURL.split("/").pop());
这将在用户每次更改 iframe 内的位置时更改 URL,或者更准确地说,它添加了一个 URL 参数。假设用户导航到http://example.com/somepage/whatever.html。浏览器中的 URL 将具有 URL 参数?framepage=whatever.html。您现在可以使页面在第一次加载时加载此 URL 参数中提供的页面,以便人们可以共享这些链接,并且 iframe 最初具有正确的 src。
您存储什么以及如何存储和对它做出反应取决于您自己。我不知道您的页面和框架内的页面是如何工作的。最后的步骤只是提供一种可能性的示例。我希望你能以此为基础。