我想从子窗口刷新父窗口。在Child窗口中使用以下代码,此代码驻留在HTML小部件中。跨域页面刷新
parent.parent.window.opener.location.reload()
我没有在父页面添加任何代码,因为它是一个moodle PHP页面。 如果两个窗口驻留在相同的原点,此代码工作正常。 我不想跟post-message()
一起去。因为我不想触摸父窗口代码。 你能帮我吗?只是刷新页面!
我想从子窗口刷新父窗口。在Child窗口中使用以下代码,此代码驻留在HTML小部件中。跨域页面刷新
parent.parent.window.opener.location.reload()
我没有在父页面添加任何代码,因为它是一个moodle PHP页面。 如果两个窗口驻留在相同的原点,此代码工作正常。 我不想跟post-message()
一起去。因为我不想触摸父窗口代码。 你能帮我吗?只是刷新页面!
最后,我找到了一个解决方案来完成这项工作。
1)您需要在父页所在的域上放置带有以下代码的HTML文件。 pageReload.html
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript">
function reload() {
parent.parent.window.opener.location.reload();
};
</script>
</head>
<body onload="reload()">
</body>
</html>
2)负荷的HTML代码的Widget子窗口此HTML页面。加入下面的代码行来加载上面的页面。
window.location = "http://www.yourparentdomain.com/pageReload.html";
在此之后跨域页面刷新会工作。
您无法与来自不同域的页面进行交互。请参阅:https://en.wikipedia.org/wiki/Cross-site_scripting
我认为你不能操纵来自不同来源的页面。这也不是一个有效的原因,“因为它是一个moodle PHP页面” – Ima