Tôi đang gọi hàm javascript window.open() để tải một url khác trong cửa sổ bật lên. Khi người dùng hoàn tất, họ sẽ đưa họ đến trang cuối cùng có một liên kết cho biết cửa sổ đóng gọi hàm window.close(). Bây giờ khi trang đó đóng, tôi cần phải cập nhật một cái gì đó trong trang gốc đã mở cửa sổ. Có cách nào để làm điều này không? Tôi phải gọi một chức năng có trong trang gốc của tôi.Làm thế nào để chạy chức năng của cửa sổ cha khi cửa sổ con đóng?
Trả lời
Bạn bằng cách nào đó có thể thử này:
cửa sổ Sinh ra:
window.onunload = function (e) {
opener.somefunction(); //or
opener.document.getElementById('someid').innerHTML = 'update content of parent window';
};
Chánh Window:
window.open('Spawn.htm','');
window.somefunction = function(){
}
Bạn không nên làm điều này vào ngày e cha mẹ, nếu không opener.somefunction() sẽ không làm việc, làm window.somefunction làm SomeFunction như công cộng:
function somefunction(){
}
Đó là chính xác những gì tôi đang tìm kiếm các công trình lớn. – ngreenwood6
+1, đã giúp tôi vào đúng thời điểm. Viết window.somefunction = function {....} giống như chức năng viết somefunction() {....} –
Điều này không hoạt động trên IE nếu cửa sổ sinh ra và cửa sổ chính không nằm trong cùng một tên miền – Binod
Bạn có thể muốn sử dụng sự kiện 'onbeforeunload'. Nó sẽ cho phép bạn gọi một hàm trong cửa sổ cha từ con ngay lập tức trước khi cửa sổ con đóng lại.
Vì vậy, có lẽ là một cái gì đó như thế này:
window.onbeforeunload = function (e) {
window.parent.functonToCallBeforeThisWindowCloses();
};
ok trông giống như những gì tôi đang tìm kiếm nhưng làm thế nào nó sẽ biết những gì cửa sổ Tôi đang nói về.Ví dụ, nếu tôi làm window.open() và sau đó tôi thêm rằng dưới đây nó sẽ biết cửa sổ đó của nó hoặc làm thế nào để tôi đính kèm nó vào cửa sổ đó? – ngreenwood6
Bạn sẽ đặt onbeforeunload đó vào một thẻ script trong HTML của cửa sổ con của bạn. Vì cửa sổ con chỉ có một phụ huynh nên trình duyệt sẽ tự động biết cửa sổ chính đó là gì. –
vì vậy nếu tôi có một chức năng được gọi là doSomething() trong cửa sổ cha mẹ nhưng nó không được xác định trong cửa sổ con nó vẫn sẽ cho phép tôi chạy nó? – ngreenwood6
Những câu trả lời như họ yêu cầu bạn phải thêm mã vào cửa sổ sinh ra. Đó là khớp nối không cần thiết.
// In parent window
var pop = open(url);
pop.onunload = function() {
// Run your code, the popup window is unloading
// Beware though, this will also fire if the user navigates to a different
// page within thepopup. If you need to support that, you will have to play around
// with pop.closed and setTimeouts
}
Tôi biết bài này là cũ, nhưng tôi thấy rằng điều này thực sự hoạt động tốt:
window.onunload = function() {
window.opener.location.href = window.opener.location.href;
};
Phần window.onunload
đã gợi ý tôi thấy googling trang này. Cảm ơn, @jerjer!
Kiểm tra sau link. Đây sẽ là hữu ích quá ..
Trong cửa sổ phụ huynh:
function OpenChildAsPopup() {
var childWindow = window.open("ChildWindow.aspx", "_blank",
"width=200px,height=350px,left=200,top=100");
childWindow.focus();
}
function ChangeBackgroudColor() {
var para = document.getElementById('samplePara');
if (para !="undefied") {
para.style.backgroundColor = '#6CDBF5';
}
}
Window Chánh HTML Markup:
<div>
<p id="samplePara" style="width: 350px;">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
</p><br />
<asp:Button ID="Button1" Text="Open Child Window"
runat="server" OnClientClick="OpenChildAsPopup();"/>
</div>
Trong Window Child:
// This will be called when the child window is closed.
window.onunload = function (e) {
opener.ChangeBackgroudColor();
//or you can do
//var para = opener.document.getElementById('samplePara');
//if (para != "undefied") {
// para.style.backgroundColor = '#6CDBF5';
//}
};
Đây là một bài cũ , nhưng tôi nghĩ tôi sẽ thêm một phương pháp khác để thực hiện việc này:
var win = window.open("http://www.google.com");
var winClosed = setInterval(function() {
if (win.closed) {
clearInterval(winClosed);
foo(); //Call your function here
}
}, 250);
Bạn không phải sửa đổi nội dung hoặc sử dụng bất kỳ trình xử lý sự kiện nào từ cửa sổ con.
Bạn là thiên tài, bro! Cảm ơn!!! –
Cùng với câu trả lời jerjer (trên cùng), đôi khi trong cửa sổ cha mẹ của bạn và cửa sổ con là không được cả hai bên ngoài hoặc cả hai bên, bạn sẽ thấy một vấn đề về mở không xác định, và bạn không thể truy cập vào các thuộc tính trang mẹ, xem window.opener is undefined on Internet Explorer
- 1. Làm thế nào để chạy chức năng của cửa sổ cha khi cửa sổ con đóng?
- 2. làm mới cửa sổ mẹ khi đóng cửa sổ con
- 3. Cách đóng cửa sổ cha mẹ khỏi con của nó?
- 4. Tải lại cửa sổ cha mẹ từ cửa sổ con
- 5. Chức năng đóng cửa sổ trong Tkinter
- 6. Cửa sổ làm mới dành cho cha mẹ sau khi đóng cửa sổ bật lên
- 7. đèo từ cửa sổ bé đến cửa sổ cha mẹ
- 8. Gọi JavaScript của cửa sổ mẹ từ cửa sổ con
- 9. Làm mới cửa sổ cha mẹ từ cửa sổ con bằng cách sử dụng javascript
- 10. Watir Webdriver cách đóng cửa sổ con
- 11. Chức năng gọi trên cửa sổ mở
- 12. Tại sao đóng cửa sổ con cuối cùng giảm thiểu cửa sổ chính của nó?
- 13. Làm thế nào để đóng cửa sổ trong awt?
- 14. Gọi lại chức năng gọi lại khi cửa sổ con đóng
- 15. Cửa sổ chính bị đóng băng khi cửa sổ con bị đóng băng quá mức từ một quá trình khác
- 16. Làm thế nào để hiển thị lại cửa sổ chính sau khi đóng cửa trong Cocoa?
- 17. Truy cập vào cửa sổ cha góc cạnh từ cửa sổ con
- 18. Cách đóng cửa sổ Kendo trong nội dung cửa sổ?
- 19. Không thể chuyển chức năng từ cửa sổ này sang cửa sổ khác trong IE
- 20. Cửa sổ chính có thể được thông báo khi cửa sổ con đóng không? (trên một miền khác)
- 21. Nút HTML Đóng Cửa sổ
- 22. Javascript truyền dữ liệu từ cửa sổ con đến cửa sổ chính, lỗi IE?
- 23. Cửa sổ sẽ không khôi phục sau khi đóng cửa
- 24. cửa sổ ExtJS đóng cửa sau khi biểu mẫu gửi
- 25. EXTJS đóng một cửa sổ
- 26. Làm thế nào để chạy lệnh 'sudo' trong cửa sổ
- 27. Làm mới cửa sổ mẹ từ cửa sổ con trong javascript
- 28. Đóng cửa sổ kendoui bằng nút Đóng tùy chỉnh trong cửa sổ
- 29. Làm thế nào tôi có thể nhận được các cửa sổ con của một cửa sổ cho HWND của nó?
- 30. Làm cách nào để gắn các cửa sổ con vào cửa sổ mẹ ở các vị trí tương đối?
Xem http://stackoverflow.com/questions/1112340/how-to-run-function-of-parent-window-when-child-window-closes –