处理方案:
方案一:给iframe标签增加css属性,display: block
方案二:在chrome浏览器下打开iframe内部的页面,通过查看调试者工具可以看到iframe内部的结构
从图中可以看到html的位置有添加一个overflow:scroll的属性,这个属性会自动为页面添加一个滚动条。因此,去掉该属性之后,问题就得到解决了。
项目中有需求,在我们的系统页面中,使用 iframe 标签嵌入第三方系统页面,一开始能够正常运行,但是第三方系统升级后,在IE浏览器下,只要打开我们的系统页面,就会自动跳转到第三方系统页面中。
仔细研究第三方页面后,发现他们页面中有如下脚本:
这段脚本运行后,会自动判断当前的 location 是否是顶层的,即是否被嵌套到 iframe 里面了,如果是,则强制跳转。
在 chrome 中,这段脚本不会生效,但是在 IE 下可以。
解决的办法就是,使用 iframe 标签的 h5 新属性 sandbox 来控制。
在我们页面的 iframe 中修改如下:
这样在 IE 下访问时,页面不会再自动跳转了!
管理员回复:在ie下面,iframe背景默认为白色,如果要改变,最好的方法是在iframe的body中添加<body style="backgroud-color:transparent">如果不能改动iframe的源码,但是iframe和主页面在同一主域下,可以在iframe的onload事件中去改变被引用的iframe的背景色。function bgtransparent(){if (document.all){ var frm = document.getElementById("loginstatus")var node = frm.Document.createElement('style')var cssText = 'body{background-color:transparent}'node.setAttribute('type', 'text/css')frm.Document.getElementsByTagName('head')[0].appendChild(node)if (node.styleSheet) node.styleSheet.cssText = cssTextelse if (frm.Document.createTextNode) node.appendChild(frm.Document.createTextNode(cssText))if (frm.allowTransparency) frm.allowTransparency = true}}<iframe src="a.html" onload="bgtransparent()"></iframe>欢迎分享,转载请注明来源:内存溢出
评论列表(0条)