<iframe>
, <embed>
和<object>
元素。<iframe>
用于嵌入其他网页,另外两个元素则允许您嵌入PDF,SVG,甚至Flash
Iframe详解
?<iframe>
元素旨在允许您将其他Web文档嵌入到当前文档中。这很适合将第三方内容纳入您的网站
假设您想在其中一个网页上加入MDN词汇表,您可以尝试以下方式:
<iframe src="https://developer.mozilla.org/en-US/docs/Glossary" width="100%" height="500" frameborder="0" allowfullscreen sandbox> <p> <a href="https://developer.mozilla.org/en-US/docs/Glossary"> Fallback link for browsers that don't support iframes </a> </p> </iframe>
allowfullscreen
如果设置,<iframe>
则可以通过全屏API设置为全屏模式
frameborder
如果设置为1,则会告诉浏览器在此框架和其他框架之间绘制边框,这是默认行为。0删除边框。不推荐这样设置,因为在CSS中可以更好地实现相同的效果。border
: none;
sandbox
该属性需要在已经支持其他<iframe>
功能(例如IE 10及更高版本)但稍微更现代的浏览器上才能工作,该属性可以提高安全性设置;
注意:为了提高速度,在主内容完成加载后,使用JavaScript设置iframe的src
属性是个好主意。这使您的页面可以更快地被使用,并减少您的官方页面加载时间(重要的SEO指标)。
安全隐患
单击劫持是一种常见的iframe攻击,黑客将隐藏的iframe嵌入到您的文档中(或将您的文档嵌入到他们自己的恶意网站),并使用它来捕获用户的交互。这是误导用户或窃取敏感数据的常见方式。
只有在必要时嵌入
有时嵌入第三方内容(例如YouTube视频和地图)是有意义的,但如果您只在完全需要时嵌入第三方内容,您可以省去很多麻烦
使用 HTTPS
HTTPS是HTTP的加密版本。您应该尽可能使用HTTPS为您的网站提供服务:
- HTTPS减少了远程内容在传输过程中被篡改的机会,
- HTTPS防止嵌入式内容访问您的父文档中的内容,反之亦然。
使用HTTPS需要一个安全证书,这可能是昂贵的