2009-06-05 27 views
46

Trong trường hợp của tôi, tôi có một nút trong phần khung nội tuyến của trang của tôi thực hiện một số xử lý cơ sở dữ liệu.Cách tải lại Trang Chính từ bên trong một iFrame

Những gì tôi về cơ bản cần là một phương tiện để thực hiện làm mới trang của trang chính, khi nút này trong khung nội tuyến được nhấn.

Sẽ đánh giá cao javascript mà tôi có thể kích hoạt trong khung nội tuyến, điều này sẽ tải lại cửa sổ chính đang giữ khung nội tuyến.

Cảm ơn. Tony.

Trả lời

98
window.top.location.reload(); 
+2

+1 để sử dụng window.top để đảm bảo trang chính đang được nhắm mục tiêu. – peirix

+0

hoạt động với IE6? – tonyf

+0

Có, tonsils ... –

8
window.parent.location.reload(); 
8

Nếu lĩnh iframe con của và phụ huynh sẽ khác bạn sẽ nhận được lỗi bảo mật cross-cửa sổ, trong trường hợp đó bạn có thể thử sử dụng sau đây:

window.parent.location = document.referrer; 
2

Chúng ta có thể dễ dàng đạt được mục tiêu phải đối mặt bằng cách đặt target = "_ parent" thành Liên kết bên trong khung nội tuyến.

Cũng giống như bản demo sau đây cho thấy:

<!--ParentPage.htm--> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
</head> 
<body> 
Parent Page 
<iframe src="FramePage.htm"></iframe> 
</body> 
</html> 


<!--FramePage.htm--> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title></title> 
</head> 
<body> 
<a href="http://www.g.cn" target="_parent">hello</a> 
</body> 
</html> 
0

xác định allFrame biến trên khung hàng đầu của bạn:

var allFrame=1 

và trên tất cả các khung của bạn kiểm tra chức năng này

if(top.allFrame === undefined) 
{ 
    window.parent.location = "your website top frame"; 
} 
0
window.opener.top.location.reload(); 
Các vấn đề liên quan