前端-解决IE浏览器下iframe中出现多余的滚动条问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端-解决IE浏览器下iframe中出现多余的滚动条问题相关的知识,希望对你有一定的参考价值。

参考技术A        如上图红色区域所示可以看到,在IE浏览器下会出现这样的多余滚动条。由于这个页面是用iframe标签嵌入的,所以直接用IE的调试工具是无法解析内部的结构的。

处理方案:

方案一:给iframe标签增加css属性,display: block;

方案二:在chrome浏览器下打开iframe内部的页面,通过查看调试者工具可以看到iframe内部的结构

从图中可以看到html的位置有添加一个overflow:scroll的属性,这个属性会自动为页面添加一个滚动条。因此,去掉该属性之后,问题就得到解决了。

在IFrame中使用postMessage跨域

参考技术A 我们在前端页面开发中,常常会用到iframe。
而且我们在使用iframe的时候,大多数情况下不单单只是为了显示页面,还要与父窗口进行交互,这时候就出现了跨域问题,iframe页面并不能直接操作父窗口的元素。
我们可以使用html5的postMessage()解决这个问题。

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指相同的域名、协议和端口,只要其中一项不同就为跨域。
举几个例子:

只有父窗口是 http://a.123.com:8080 时才会接受到传递的消息。

以上是关于前端-解决IE浏览器下iframe中出现多余的滚动条问题的主要内容,如果未能解决你的问题,请参考以下文章

隐藏 iframe 中的滚动,当 IE 中的 iframe 为空时

切换iframe页面,从内容长的页面切换到内容短的页面,滚动条不会消失的问题解决

IE8以下版本iframe出现滚动条和内容空白问题

ie8 下使用iframe内容不更新一直读取缓存怎么办

iframe 双滚动条解决

前端(浏览器兼容性Ie与chrome)之滚动条的隐藏