Posted in Javascript onJanuary 16, 2013
最近做到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打开要调的网页,问题果然解决了
file模式访问网页时iframe高度自适应解决方案
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@