2012-01-24 187 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

相关问题