2012-08-17 30 views
1

moddle獲取瀏覽器的高度我使用的Moodle

我試圖從框架中運行一些JavaScript得到瀏覽器窗口的高度,因此,如果他們用的是我可以提醒用戶少於最佳的瀏覽器大小。

心中已經嘗試過的東西,如:

window.top.document.body.offsetHeight 
document.documentElement.clientHeight 
$(document).height() 
$(window).height() 

但他們都給予高度的靜態當我調整瀏覽器這永遠不會改變。

哦,它必須在IE8中工作。

+0

當調整瀏覽器大小時,它永遠不會改變....這是一個響應模式,您需要在$(window).on('resize',function(){console.log($(窗口).height());});' – Ohgodwhy 2012-08-17 03:41:41

+0

我的意思是,刷新瀏覽器之間。我已經建立了一個警報,告訴我負載的高度。 – Mint 2012-08-17 03:46:49

回答

5

你必須使用iF的parent屬性RAME窗口:

運行在iFrame中的代碼,它將返回父窗口的高度:

$(window.parent).height(); 

但是,如果你使用jQuery 1.8.0,這可能不是,如果你的瀏覽器中工作在quirks mode。從jQuery 1.8.0開始,命令$(window).height()在怪異模式下停止工作於Internet Explorer,它們的作用是don't plan to fix it

如果你正在使用jQuery 1.8.0,使用這個微小的變化,而不是:

$(window.parent.document).height(); 

這將確保跨瀏覽器的支持,即使在IE的怪癖模式;)

http://www.w3schools.com/jsref/prop_win_parent.asp

+0

頂尖人物使用jQuery 1.7.2完成了這個訣竅。謝謝。 – Mint 2012-08-17 04:39:52

1

一個簡單的解決方法是將調用來自iframe的父文件函數返回文件的高度

的iframe的Javascript

alert(top.getDocHeight()); 

主文檔的Javascript

function getDocHeight() 
{ 
    return $(window).height(); 

}