file模式访问网页时iframe高度自适应解决方案_javascript技巧

最近做到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打开要调的网页,问题果然解决了

时间: 2024-10-29 17:59:45

file模式访问网页时iframe高度自适应解决方案_javascript技巧的相关文章

用javascript动态调整iframe高度的方法_javascript技巧

当你在页面上使用了iframe之后,一般来说会不希望iframe显示难看的滚动条,以使iframe里面的内容和主页面的内容浑然一体.这时候你会设置 scrolling="no" 属性.但是这样一来如果iframe里面的内容是变化的,高度会随之内容的变化而变化的时候,你的iframe就会显得太长导致底下一大片空白,或者正好相反,由于iframe的高度太小导致一部分内容会被挡住.这里我提供一个兼容IE/NS/Firefox的javascript脚本实现动态调整iframe的高度.如果需要调

用javascript动态调整iframe高度的代码_javascript技巧

当你在页面上使用了iframe之后,一般来说会不希望iframe显示难看的滚动条,以使iframe里面的内容和主页面的内容浑然一体.这时候你会设置 scrolling="no" 属性.但是这样一来如果iframe里面的内容是变化的,高度会随之内容的变化而变化的时候,你的iframe就会显得太长导致底下一大片空白,或者正好相反,由于iframe的高度太小导致一部分内容会被挡住.这里我提供一个兼容IE/NS/Firefox的javascript脚本实现动态调整iframe的高度.如果需要调

JavaScript拆分字符串时产生空字符的解决方案_javascript技巧

问题描述 使用JavaScript的split方法拆分字符串时出现一些空字符串"",尤其是当使用正则表达式作为分隔符的时候. 相关问题 javascript正则表达式对字符串分组时产生空字符串组? 在上面这个问题中,题主使用正则表达式对字符串进行分割时产生了多个空字符串"",代码如下: 复制代码 代码如下: '张sdf四上法asdf翁芬aa33网s'.split(/([\u4e00-\u9fa5]{1})/gi); //输出["", "

Iframe高度自适应(兼容IEFirefox、同域跨域)

在实际的项目进行中,很多地方可能由于历史原因不得不去使用iframe,包括目前正火热的应用开发也是如此. 随之而来的就是在实际使用iframe中,会遇到iframe高度的问题,由于被嵌套的页面长度不固定而显示出来的滚动条,不仅影响美观,还会对用户操作带来不便.于是自动调整iframe的高度就成为本文的重点. 采用JavaScript来控制iframe元素的高度是iframe高度自适应的关键,同时由于JavaScript对不同域名下权限的控制,引发出同域.跨域两种情况. 同域时Iframe高度自适

js实现iframe自动自适应高度的方法_javascript技巧

本文实例讲述了js实现iframe自动自适应高度的方法.分享给大家供大家参考.具体如下: 在编写网页的时候,很多时候要用到自动伸缩iframe高度 ,假如ifram中嵌入的是一个列表,那么增加数据后,刷新列表,iframe高度会自动伸长.删除数据后,iframe高度要自动缩短. 将下一段代码拷贝到iframe所在那个html或者jsp页面.在</html>标签后,调用此函数即可. <script type="text/javascript"> autoAdjus

跨域iframe高度自适应 改进版(兼容)

采用JavaScript来控制iframe元素的高度是iframe高度自适应的关键,同时由于JavaScript对不同域名下权限的控制,引发出同域.跨域两种情况. 由于客户端js使用浏览器的同源安全策略,跨域情况下,被嵌套页面如果想要获取和修改父页面的DOM属性会出现权限不足的情况,提示错 误:Permission denied to access property 'document'.这是因为除了包含脚本的文档载入的主机外,同源策略禁止客户端脚本链接到其他任何主机或者访问其他任何主机的数据.

JS解决iframe之间通信和自适应高度的问题_javascript技巧

首先说明下,iframe通信 分为:同域通信 和 跨域通信. 一. 同域通信 所谓同域通信是指 http://localhost/demo/iframe/iframeA.html 下的a.html页面嵌套 iframe 比如: <iframe src="http://localhost/demo/iframe/iframeB.html" id="iframeA" name="iframeA">的B.html页面,这两个页面数据进行通信

iframe全跨域高度自适应解决方案

看到这个需求的时候就在暗爽,又可以搞定一个知识点了.哈哈,一天的奋斗之后,果然有所收获,而且经过怿飞的指点,在跨域问题解决上还有所突破(不通过hash).看Demo,兼容IE,FF,Safari. 方案说明: 需求是:A页面(taobao.com)要嵌入B页面(alibaba.com),因为不能确定B页面的高度,所以要求高度自适应.解决方法:简单来说就是在B页面里创建一个和A同域的iframe C,让C和A之间可以通讯,以把B的高度传过去.那么怎么传过去呢?以前的方法是在C里改变parent.p

jquery实现iframe高度自适应代码

废话不多说,直接上代码. 一.父窗口代码  代码如下 复制代码 <iframe id="_case" src="case.html" width="300" height="0" frameborder="0" scrolling="no" ></iframe> 二.子窗口代码    代码如下 复制代码 <div id="relation"