最近做到iframe的高度自適應這個問題,網上一搜好多解決方案,而總結起來也就那幾種,我逐一嘗試這些方案,最後發現在我的項目中都不起作用,後來發現自己做的網頁是通過file方式訪問的,將網頁代碼放到apache下通過http協議訪問,在iframe加載的時候調用如下js方法:
復制代碼 代碼如下:
<SPANstyle="FONT-FAMILY:KaiTi_GB2312;FONT-SIZE:18px">functionSetWinHeight(obj)
{
varwin=obj;
if(document.getElementById)
{
if(win&&!window.opera)
{
if(win.contentDocument&&win.contentDocument.body.offsetHeight)
win.height=win.contentDocument.body.offsetHeight;
elseif(win.Document&&win.Document.body.scrollHeight)
win.height=win.Document.body.scrollHeight;
}
}
}</SPAN>
果然網頁高度能夠自適應(對於其他方案應該也有效果,我沒有注意去嘗試),而通過file方式訪問網頁同樣的的代碼log中始終報:UnsafeJavaScriptattempttoaccessframewithURLfile:///E:/workspace/html5/exam.htmlfrom
framewithURLfile:///E:/workspace/html5/quiz_preview.html.
Domains,protocolsandportsmustmatch.
每種方案都嘗試了報的錯是這個,只能從這個問題下手解決了,後來發現這種通過file方式跨域訪問的方式chrome是默認不允許的,又查如何設置chrome允許跨域訪問:最簡單的方法在chrome圖標右鍵、屬性->目標在後添加‘--disable-web-security'
重新啟動chrome打開要調的網頁,問題果然解決了