2011-10-18 35 views
9

Tôi nghi ngờ điều này thực sự có thể nhưng Im đã chuẩn bị để được sửa chữa.Phát hiện chiều cao và chiều rộng <iframe> từ bên trong khung nội tuyến

Điều tôi cần là có thể phát hiện chiều rộng và chiều cao của khung nội tuyến từ bên trong khung nội tuyến, vì vậy nếu iframe srciframeContent.html Tôi cần có khả năng hiển thị các giá trị trên trang này.

Tôi không kiểm soát được trang chỉ lưu trữ iframe nội dung của khung nội tuyến.

Điều này có khả thi không?

Trả lời

10

Bạn luôn có thể nhận được thứ nguyên trang web, bất kể trang được tải bên trong iframe hay cửa sổ mới, nó luôn hoạt động theo cùng một cách. Đây là một chức năng tôi đã tìm thấy được sử dụng để có được kích thước window, bạn cũng có thể sử dụng nó để có được kích thước .

function alertSize() { 
    var myWidth = 0, myHeight = 0; 
    if(typeof(window.innerWidth) == 'number') { 
    //Non-IE 
    myWidth = window.innerWidth; 
    myHeight = window.innerHeight; 
    } else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { 
    //IE 6+ in 'standards compliant mode' 
    myWidth = document.documentElement.clientWidth; 
    myHeight = document.documentElement.clientHeight; 
    } else if(document.body && (document.body.clientWidth || document.body.clientHeight)) { 
    //IE 4 compatible 
    myWidth = document.body.clientWidth; 
    myHeight = document.body.clientHeight; 
    } 
    window.alert('Width = ' + myWidth); 
    window.alert('Height = ' + myHeight); 
} 
+4

Bạn thực sự nên cung cấp một liên kết đến nơi bạn sao chép và dán câu trả lời của bạn từ. Bằng cách đó, tín dụng được đưa ra khi đến hạn. Ngoài ra, tôi nghĩ rằng chúng ta có thể quên một cách an toàn về IE 4 khi viết mã trong ngày và tuổi này. –

+0

window.innerWidth/Chiều cao báo cáo lại kích thước của IFRAME, không phải trình duyệt (ví dụ: nếu cửa sổ trình duyệt được thay đổi kích thước SMALLER so với IFRAME chứa, trình duyệt luôn báo cáo lại kích thước của IFRAME) – GlennG

+0

không hoạt động trong IE9 cho tôi - trả về 0 – ILya

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