javascript - 在 iframe 内重新加载页面

标签 javascript iframe

我有一个 iframe,我想在按下按钮时重新加载当前显示的页面。

HTML:

<iframe id="webView"></iframe>

JS:

function reloadPage()
{
    var webView = document.getElementById("webView");

    //CODE
}

reloadPage()方法中我尝试了不同的解决方案:

调用reload()

webView.contentWindow.location.reload();

这不起作用,因为 iframe 内加载的页面与主页来自不同的域。

设置源

webView.src = wevView.src;

它给出了错误的结果,因为它包含我设置到 iframe 的初始 url,而不是当前的 URL。

设置位置

webView.contentWindow.location = webView.contentWindow.location

我原以为它不能处理来自不同域的 url(与调用 reload() 相同),但实际上它可以工作并且也给出了良好的结果。
不错,但并不完美:location 对象保存当前 url,但删除任何参数。

例如,如果框架当前显示以下网址:

http://www.myserver.com/thatsite/?page_id=11

location 对象包含此 url:

http://www.myserver.com/thatsite/

所以只要网址中没有参数,这个就可以正常工作。

更好的解决方案?

我严重依赖带参数的网址(主要是 WordPress 安装),因此我需要一种方法在重新加载时保留它们。
有人知道实现此目标的解决方案吗?

最佳答案

只是不可能,请参阅此线程:

Get current URL from IFRAME

还有这个

How do I get the current location of an iframe?

关于javascript - 在 iframe 内重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25067293/

相关文章:

javascript - History.pushState 将不起作用

javascript - 从父组件 react hooks 更改子组件的 useState

jquery - 使用 jQuery 将样式表附加到 iframe

javascript - 空的 IFRAME 如何导致缓存破坏

javascript - 从菜单中单击链接时需要显示 iframe

javascript - 使用 blob 从 ajax 结果下载文件

javascript - React.js useState 与功能组件上的 Array.push 方法

javascript - Dropzone.js 事件未触发

javascript - 内嵌页面js代码中如何获取父iframe大小?

javascript - 在 iframe 中打开另一个网页,优化外观