2016-12-13 3 views
3

자식 창에서 부모 창을 새로 고치려고합니다. 자식 창에서 다음 코드를 사용하면이 코드는 HTML 위젯에 있습니다.크로스 도메인 페이지 새로 고침

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

부모 페이지에 moodle PHP 페이지이므로 아무 코드도 추가하지 않습니다. 두 창 모두 같은 출처에 있으면이 코드가 올바르게 작동합니다. 나는 post-message()과 함께 가고 싶지 않습니다. 부모 창 코드를 터치하고 싶지 않기 때문입니다. 그걸 도와 주실 수 있습니까? 그냥 페이지를 새로 고치기 !!

+2

다른 원산지의 페이지를 조작 할 수 없다고 생각합니다. 또한 이것은 "moodle PHP 페이지이므로"유효한 이유가 아닙니다. – Ima

답변

1

마지막으로이 작업을 수행 할 수있는 해결책을 찾았습니다.

1) 상위 페이지가있는 도메인에 아래 코드와 함께 HTML 파일을 배치해야합니다.

2 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>
) HTML 위젯 코드의 자식 창에서이 HTML 페이지를로드합니다. 위의 페이지를로드하려면 아래 코드 줄을 추가하십시오.

window.location = "http://www.yourparentdomain.com/pageReload.html"; 

이 도메인 간 페이지 새로 고침 이후에 작동합니다.