2010-04-16 25 views
5

Tôi đang cố gắng để nối thêm một sự kiện onload đến một cửa sổ popup theo cách thức sau đây:Javascript phụ onload đến một cửa sổ popup

var explorerWindow = window.open(PARAMS...); 
explorerWindow.onload = function() {window.opener.unlockObj(id);} 

Ý tưởng là để làm cho nút mà tạo ra các cửa sổ popup chỉ đọc, làm cho nó có thể sử dụng lại khi cửa sổ bật lên đã tải tất cả nội dung của nó. Tuy nhiên, sự kiện này dường như không hề bắn. Tôi thậm chí đã thay đổi nó thành những điều sau đây và không có gì:

explorerWindow.onload = function() {alert("bloop");} 

Có điều gì đó cực kỳ sai với cú pháp của tôi hoặc tôi thiếu một thứ gì đó hoàn toàn khác? Ngoài ra, tôi đang sử dụng JQuery nếu có bất kỳ đá quý thích hợp ở đó sẽ giúp đỡ trong tình huống này. Tôi đã thử những điều sau với kết quả tương tự, nhưng tôi không chắc chắn rằng tôi nhận được quyền gọi:

$(explorerWindow).load(function() {alert("bloop");}); 

Bất kỳ trợ giúp nào được đánh giá cao.

Trả lời

1

Điều này sẽ không hoạt động trên tất cả các trình duyệt. Tôi muốn đề nghị đưa handler onload trong tài liệu nạp vào cửa sổ mới và có mà gọi ra để trang gốc:

window.onload = function() { 
    opener.doStuff(); 
} 
-1

Tôi thực sự quản lý để làm cho nó làm việc trong các trình duyệt tôi phải hỗ trợ như sau :

explorerWindow.onload = new function() { explorerWindow.opener.unlockObj(id); } 

Cảm ơn bạn đã trả lời mặc dù Tim.

+0

Thật sao? Tôi đề nghị bạn kiểm tra cẩn thận. Nhờ sử dụng 'new', nó sẽ gọi' unlockObj (id) 'ngay lập tức (không chờ đợi cửa sổ mới nạp đầu tiên) và gán một đối tượng hơn là một hàm vào' explorerWindow.onload', nó sẽ làm không có gì (ít nhất, không có gì hữu ích). Dòng đó sẽ tương đương với thực tế chỉ cần gọi 'unlockObj (id);'. –

Các vấn đề liên quan