2012-01-24 221 views
0

任何人都可以告訴我爲什麼這不適用於Safari嗎?JavaScript代碼適用於IE,但不適用於Safari(Mac或Windows)

// Set the height of the iFrame 
var avail = document.parentWindow.screen.availHeight; 
var screenTop = document.parentWindow.screenTop; 
var divHeight = $('.header').css('height').replace('px',''); 
var divTop = $('.header').position().top; 
alert('avail: ' + avail + '\nscreenTop: ' + screenTop + '\ndivHeight: ' + divHeight + '\ndivTop: ' + divTop); 
$('#viewerFrame').css('height', (avail - screenTop - divTop - divHeight - 94) + 'px'); 

在IE瀏覽器,它的工作原理完全一樣我想(這意味着大小的IFRAME我考慮到窗口的大小,標題等後採取了所有剩下的畫面。 ..)。爲什麼它在Safari中不起作用?

回答

2
document.parentWindow is IE-only. 

您可以使用topparent代替

+0

這是很重要的要注意了。只要IE和其他瀏覽器之間存在差異,通常是由於IE使用了不同於W3C標準的關鍵字。幸運的是,這對IE的新版本來說已經變得不那麼成問題了。 –

+0

所以,我應該使用'var avail = document.parentWindow.screen.availHeight || document.parent.screen.availHeight'? – mbm29414

相關問題