Tôi cần sử dụng JavaScript nào để chuyển hướng cửa sổ cha mẹ từ iframe?
Tôi muốn họ nhấp vào một siêu liên kết, sử dụng JavaScript hoặc bất kỳ phương thức nào khác, sẽ chuyển hướng cửa sổ cha mẹ sang một URL mới.
Tôi cần sử dụng JavaScript nào để chuyển hướng cửa sổ cha mẹ từ iframe?
Tôi muốn họ nhấp vào một siêu liên kết, sử dụng JavaScript hoặc bất kỳ phương thức nào khác, sẽ chuyển hướng cửa sổ cha mẹ sang một URL mới.
Câu trả lời:
window.top.location.href = "http://www.example.com";
Như đã nêu trước đây, sẽ chuyển hướng iframe cha.
sandbox
" - developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe Các sandbox
ngăn chặn thuộc tính JavaScript có những hành động nhất định trong một khung nội tuyến dựa trên một danh sách trắng cho các hành động được phép. Các allow-top-navigation
bất động sản là một trong những hành động mà bạn có thể kích hoạt trong danh sách trắng, cho phép mã này để làm việc. Nếu sandbox
thuộc tính vắng mặt, tất cả các hành động được cho phép. Nếu nó có mặt và một chuỗi rỗng, tất cả các hành động đều bị từ chối.
Tôi thấy rằng nó <a href="..." target="_top">link</a>
cũng hoạt động
window.top.location.href = "http://example.com";
window.top
đề cập đến đối tượng cửa sổ của trang ở đầu phân cấp khung.
hoặc thay thế là như sau (sử dụng đối tượng tài liệu)
parent.document.location.href = "http://example.com";
parent.location.href = ...
. developer.mozilla.org/en/document.location
@MIP đúng, nhưng với các phiên bản Safari mới hơn, bạn sẽ cần thêm thuộc tính hộp cát (HTML5) để cấp quyền truy cập vào iFrame. Có một vài giá trị cụ thể có thể được thêm vào bằng khoảng trắng giữa chúng.
Tham khảo (bạn sẽ cần cuộn): https://developer.mozilla.org/en-US/docs/Web/HTML/Euity/iframe
Ví dụ:
<iframe sandbox="allow-top-navigation" src="http://google.com/"></iframe>
sandbox
thuộc tính cho phép thêm một bộ hạn chế cho nội dung trong <iframe>
. Giá trị của sandbox
tài sản loại bỏ các hạn chế cụ thể. Vì vậy, xem ra với việc sử dụng tính năng này. w3schools.com/tags/att_iframe_sandbox.asp
Nếu bạn muốn chuyển hướng đến một tên miền khác mà không cần người dùng phải làm bất cứ điều gì bạn có thể sử dụng một liên kết với tài sản:
target="_parent"
như đã nói trước đó, và sau đó sử dụng:
document.getElementById('link').click();
để nó tự động chuyển hướng.
Thí dụ:
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<a id="link" target="_parent" href="outsideDomain.html"></a>
<script type="text/javascript">
document.getElementById('link').click();
</script>
</body>
</html>
Lưu ý: Lệnh javascript click () phải xuất hiện sau khi bạn khai báo liên kết.
Hãy thử sử dụng
window.parent.window.location.href = 'http://google.com'
parent.location = 'url'
window.top.location.href = 'index.html';
Điều này sẽ chuyển hướng cửa sổ chính đến trang chỉ mục. Cảm ơn
Chúng ta phải sử dụng window.top.location.href để chuyển hướng cửa sổ cha mẹ từ một hành động iframe.
Url demo :
Chuyển hướng iframe trong cửa sổ cha theo iframe trong cùng cha mẹ:
window.parent.document.getElementById("content").src = "content.aspx?id=12";
IFrame
, quá. Vì câu trả lời được chấp nhận giải quyết cửa sổ trên cùng , tôi khuyên bạn nên thay đổi câu hỏi của mình một chút.