以下代碼是iframe在ie9 ie8 ie7 ie6 360 firefox中自適應高度的。這個問題曾經折騰我很久,現在終於解決了,現在和大家分享一下。
下面紅色代碼必須。
//ie9則用下面js代碼可以讓iframe自適應高度
function iframeResize(iframe) {
var idocumentElement = iframe.contentWindow.document.documentElement;
if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE9.0")
{
try {
if (idocumentElement.scrollHeight > 560) {
iframe.height -= 5;
iframe.height = idocumentElement.scrollHeight;
}
else {
iframe.height = 560;
}
}
catch (e) {
window.status = 'Error: ' + e.number + '; ' + e.description;
}
}
}
//ie9通過iframeResize(iframe)方法自適應高度,其他瀏覽器通過height = document.frames(this.name).document.body.scrollHeight。這段話必須寫在onload中,否則無效。
<iframe src="<%=basePath%>qt/history!showUiById.action?id=<s:property value="#parameters.id"/>&flag=<s:property value="#parameters.flag"/>" width="770" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes" name="2" onload='if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE9.0"){iframeResize(this);}else{height = document.frames(this.name).document.body.scrollHeight}'></iframe>
作者:wangxiaojing123