2016-12-13 34 views
3

我想从子窗口刷新父窗口。在Child窗口中使用以下代码,此代码驻留在HTML小部件中。跨域页面刷新

parent.parent.window.opener.location.reload() 

我没有在父页面添加任何代码,因为它是一个moodle PHP页面。 如果两个窗口驻留在相同的原点,此代码工作正常。 我不想跟post-message()一起去。因为我不想触摸父窗口代码。 你能帮我吗?只是刷新页面!

+2

我认为你不能操纵来自不同来源的页面。这也不是一个有效的原因,“因为它是一个moodle PHP页面” – Ima

回答

1

最后,我找到了一个解决方案来完成这项工作。

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"; 

在此之后跨域页面刷新会工作。