2009-08-17 33 views
7

Có cách nào để phát hiện xem nội dung của iframe của tôi có thay đổi không?Tôi làm cách nào để phát hiện kích thước khung nội tuyến?

Giải pháp thay thế của tôi là tôi có vòng lặp liên tục kiểm tra chiều cao của nội dung có hiệu quả nhưng không hiệu quả là có cách nào khác để thực hiện việc này không?

+1

làm thế nào để bạn có nghĩa là nội dung thay đổi? Làm mới một url khác? Phần tử biểu mẫu được cập nhật? Không chắc chắn chiều cao sẽ giúp bạn nếu hai trang có chiều cao bằng nhau. Ngoài ra nếu họ tải một trang từ một tên miền khác, bạn sẽ không thể truy cập chiều cao của nội dung tài liệu? Cần thêm thông tin – redsquare

Trả lời

5

Vì nội dung của iframe có phần tử window riêng biệt, bạn có thể thực hiện việc này trong tập lệnh bên trong iframe.

$(window).resize(function(){ 
    var object = $(this) 
    // Use `object.height()` and `object.width()`. 
}); 

Bạn cũng có thể sử dụng $("#the_iframe")[0].contentWindow.window (hoặc một cái gì đó như thế) thay vì window để truy cập đối tượng window của iframe từ phạm vi chứa iframe.

+0

Cảm ơn bạn .. tôi sẽ thử điều này .. – yoshi

+1

-1 - Thật không may điều này là không chính xác. Điều này sẽ chỉ kích hoạt khi thay đổi chiều rộng '