我有一个 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 安装),因此我需要一种方法在重新加载时保留它们。
有人知道实现此目标的解决方案吗?
最佳答案
关于javascript - 在 iframe 内重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25067293/