使 iFrame 更易于使用
Making iFrames More Usable
所以我的一个客户已经与一家票务公司签约,该公司说服他们采用一种解决方案,该解决方案基本上通过iframe将他们的系统嵌入到我客户的网站上。育。
这意味着在我的客户的事件页面上,他们将浏览 iframe 中的事件,父级的 URL 永远不会更改。
我只是想知道我是否可以做些什么来减少该特定问题。 例如,在 iframe 中的每个页面加载中,向父级的 url 发送一些内容,以标识 iframe 的哪个页面当前处于打开状态?这样,如果有人共享 url 或通过浏览器刷新,他们就不会回到 iframe 的起始页。
我可能会将自己的JavaScript文件添加到iframe中,不确定我还能操作多少iframe。
任何建议都会很棒。
谢谢!
你可以监听 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 执行所需的操作。您还可以使用window.history
更改浏览器 URL 栏中的 URL。
// 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。
您存储什么以及如何存储和反应取决于您。我不知道您的页面和框架内的页面究竟是如何工作的。最后的步骤只是提供一种可能性的示例。我希望你能在此基础上再接再厉。
- 如何使 iframe 中的内容响应式
- 有没有一种方法可以使Iframe根据需要进行扩展
- 如何使iframe始终可见
- 使 iframe/表单固定位置
- 如何使用响应式iframes使iframe响应.js
- 使 iframe 自动调整高度
- 如何使 iFrame 在 iframe 加载特定页面时重新加载它所在的页面
- 使 iFrame 更易于使用
- 我可以'我不知道如何在单击时使iFrame下拉列表
- 如何使iframe在隐藏时显示
- 根据内部内容使iframe高度动态化 - JQUERY/Javascript
- 如何在开始拖动任何对象时使iframe跟随鼠标光标
- 如何使Iframe中的内容影响网页
- 使iframe在网页上对齐
- 如何使iframe内容被索引为它的父容器的一部分
- 如何使iframe与SVG "聚焦"
- 如何使IFRAME监听父IFRAME的点击事件,并使用父IFRAME中被点击元素的路径
- 使iFrame响应其内容的高度(PHPBB)
- 使iframe滚动条消失
- 如何使iframe的高度始终延伸到浏览器窗口的底部?