2013-02-27 36 views
5

Tôi đang chạy nội dung HTML của bên thứ ba bên trong iframe iframe mà tôi không kiểm soát được và trong một số trường hợp chúng có liên kết gọi javascript: window.close () trực tiếp. Một cái gì đó như thế này:Bắt javascript: window.close() bên trong iframe

<input type="button" onclick="javascript:window.close()" value ="CLOSE"> 

Tôi không có cách nào để tìm ID hoặc vị trí mảng của phần tử này.

Tự nhiên, nó bị bỏ qua bên trong khung nội tuyến, nhưng có cách nào để nắm bắt khi sự kiện này được kích hoạt không? Tôi đã thử

window.addEventListener("close", closeHandler, false); 
window.addEventListener("onbeforeunload", closeHandler, false); 

nhưng nó hoàn toàn bỏ qua nó. Có cách nào để nắm bắt tất cả các sự kiện/cuộc gọi JavaScript không? Mọi khuyến nghị đều được hoan nghênh.

Trả lời

0

Theo như tôi biết, bạn cần chụp sự kiện bên trong khung. Nếu bạn không thể sửa đổi nội dung khung thì bạn có thể không may mắn. Nếu bạn có thể sửa đổi nội dung iframe thì bạn có thể thêm trình xử lý sự kiện đó vào nó và đặt nó để gọi hàm toàn cầu của cửa sổ mẹ. Hoặc bạn có thể thử sử dụng postMessage.

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