Đứa trẻ mất cha mẹ !!Chức năng gọi trên cửa sổ mở
Tôi có cửa sổ chính, khi ai đó nhấp vào hình ảnh, cửa sổ bật lên JS sẽ mở ra và hiển thị ảnh cũng như thông tin của ảnh đó.
Để đóng cửa sổ popup/con, và để flash một yếu tố trên cửa sổ phụ huynh/mở của tôi, tôi đã sử dụng chức năng này:
function closeWindow() {
var currentID = document.getElementById('currentID').value;
window.opener.flashElement(currentID);
window.close();
}
Vấn đề của tôi là điều này không có tác dụng nếu người dùng của tôi di chuyển cách xa trang mà cửa sổ bật lên đã mở ban đầu. Ví dụ: trong cửa sổ bật lên, có các nút tiếp theo và trước đó để cuộn qua từng ảnh trong tập hợp kết quả đó, tải lại trang có giá trị chuỗi truy vấn mới.
Nếu người dùng cuộn (tải lại trang) ít hơn 7 lần, nhưng nếu họ cuộn nhiều hơn, chức năng window.opener
không hoạt động và do đó chức năng window.close
cũng không hoạt động!
Tôi có thể xây dựng lại trang để dữ liệu đến qua cuộc gọi AJAX, thay vì tải lại trang, nhưng đó là rất nhiều công việc tôi có thể làm mà không cần.
Bất kỳ ý tưởng nào?
Khi nào hàm 'closeWindow()' được gọi? Khi người dùng nhấp vào nút "đóng" hoặc điều gì đó tương tự? Và chỉ để hoàn toàn rõ ràng, 'closeWindow()' nằm trong cửa sổ con, đúng không? –
có thể trùng lặp của [Popup Window.Opener Redirected hoặc Closed] (http://stackoverflow.com/questions/5872721/popup-window-opener-redirected-or-closed) –
@JackieChiles yes closeWindow() được gọi khi người dùng nhấp vào nút đóng và closeWindow() nằm trong cửa sổ con. Như tôi đã nói, nó hoạt động tốt nếu người dùng không tải lại cửa sổ bật lên nhiều hơn 7-8 lần. – TheCarver