6

我在网站上显示了一个 iframe。我想做的是在我的网站上显示 iframe,但要让它在用户查看它时不会意识到它是 iframe。现在,当您“右键单击” iframe 时,它​​会显示“查看框架源”。有没有办法摆脱它,所以用户只会认为 iframe 是网站的一部分而不是 iframe?

在此先感谢您的帮助。

4

2 回答 2

7
<iframe width="700" scrolling="no" height="400" frameborder="0" src="yourFramePage.html" seamless="seamless">
于 2013-01-07T19:11:02.493 回答
4

您可以绑定到右键单击并阻止默认操作。要实现相同的功能,请查看此问题。但是,这只有在您可以控制 iframe 中的 html 页面时才可行。

一个可行的替代方案 我所知道的唯一替代方案是 iframe 中的seamless属性(新的 HTML5 添加),它在浏览器中并没有得到一致的支持。(当前浏览器支持仅限于 chrome)。

对于其他浏览器,您可以做一些肤浅的事情,例如:


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

无论如何,没有完全证明的解决方案,因为最终用户始终可以使用 html 的源代码。如果可能,请尝试使用 ajax 重新实现您的解决方案。如果您在自己的网站中显示第三方网站内容,那么我强烈建议您不要伪装区别,以便内容看起来是您网站的一部分。

[更新]

如果您确实有使用 iframe 的令人信服的理由,disqus 评论平台的创建者的这个演示文稿提供了一种有见地的方法来模拟无缝 iframe。演示的重点是使用window.postMessage启用父 html 文档和 iframe 之间的通信。

于 2013-01-07T19:16:10.753 回答