昨天由于项目需要做一个iframe自动撑高的问题,结果碰到一个奇怪的问题,IE,safari,opera浏览器都支持的一个iframe自动撑高js代码,FF却不支持,更加奇怪的是同样的这段js代码,在以前的项目中也一直在用,打开老项目,FF也能运行,这就晕了。翻来覆去搞了几十遍,还是不行,彻底的崩溃,无果后睡觉,今天起来大早又高这个问题,突然想到了会不会是目录结构的问题,奇迹发生了,果然Firefox中iframe的src的目录有问题。
Firefox中iframe的src不能出现“../”向上层目录查找的文件的路径,经过服务器上测试后更加神奇的事情发生了,那就是在服务器上“../”向上层目录查找的文件的路径在FF中能正常执行,OMG。最后的结论是Firefox在本地iframe中的src不能出现“../”向上层目录查找的文件的路径,除非本地建站点。
看第一个demo:https://www.html.cn/demo/iframe/iframe/ff-iframe.html
这个就demo都正常的,但是你可以下载这个demo到本地,在ff中运行一下就知道这段js在不能运行了,firebug也调试不出是什么问题,我这里显示的是红色的乱码。晕翻。
注:该问题仅限这段JS,其他没有测试。
会不会是考虑到安全的原因?
哈,得到了一个iframe自适应高度的代码。
中午测试了一下,貌似FF在Apache下可以实现,但是本地就不行了,IE7下好像也不行,不知道是不是我的电脑问题?!
FF中没有发现问题.
PS:你那个自适应JS代码中的scrollHeight也可以用成offsetHeight的
是不是本地的iis或Apache没有设置启用父路径。
我做的IFRAME里包含../路径,用搜狗,360浏览器的高速模式,直接不显示IFRAME。晕死了,谁知道解决方法??