HTML5 iFrame无缝属性

在HTML5中,iframe具有“无缝”等新属性,可以移除边框和滚动条。 我试过了,但似乎没有工作,我仍然可以看到滚动条和边框(我将Google Chrome用作浏览器),下面是我的代码:

<iframe seamless="seamless" title="google" width="600" height="300" src="http://www.google.co.uk"></iframe>

任何想法为什么它不工作?

还有一个问题,是否可以在iframe中定位页面的特定部分?


它尚未正确支持。

Chrome 31(也可能是较早版本)支持该属性的某些部分,但尚未完全支持。


更新日期:2016年10月

seamless属性不再存在。 它最初被包含在第一个HTML5规范中,但随后被放弃。 一个不相关的同名属性在HTML5.1草案中做了一个简短的介绍,但在2016年年中也被抛弃了:

所以我认为,无论从实现者还是网络开发者的角度来看, seamless as-specced似乎都不是人们想要的开始。 或者至少它比任何人想要的都要多。 无论如何,就像@annevk说的那样,它看起来很多都是因为Shadow DOM的“被事件克服”的。

换句话说:从你的记忆中清除seamless属性,并假装它永远不存在。

为了后代的缘故,这是我五年前的原始答案:

原始答案:2011年4月

该属性目前处于草稿模式。 因此,目前的浏览器都还没有支持它(因为实现可能会发生变化)。 同时,最好使用CSS去除iframe中的边框/滚动条:

iframe[seamless]{
    background-color: transparent;
    border: 0px none transparent;
    padding: 0px;
    overflow: hidden;
}

除了可以用CSS添加的内容外,还有更多的内容属于无缝属性:属性背后的部分推理是允许嵌套内容继承应用于iframe的相同样式(就好像嵌入文档嵌套在元素中一样大,例如)。

最后,Internet Explorer(8和更早版本)的版本需要额外的属性才能删除边框,滚动条和背景色:

<iframe frameborder="0" allowtransparency="true" scrolling="no" src="..."></iframe>

当然,这并不能证实。 所以这取决于你如何处理它。 我的(挑剔的)方法是嗅探代理字符串并为早于9的IE版本添加属性。

希望有所帮助。 :)


根据今天发布的最新W3C HTML5推荐标准(可能是最终的HTML5标准),iframe元素中不再有无缝属性。 它似乎已经在标准化过程的某个地方被删除了。

根据caniuse.com,没有一个主要的浏览器不支持这个属性(已经不是),所以你可能不应该使用它。

链接地址: http://www.djcxy.com/p/88255.html

上一篇: HTML5 iFrame Seamless Attribute

下一篇: Get top coordinate of self