如何阻止用户在iframe之外打开我的网络应用程序?

时间:2011-11-21 14:39:18

标签: javascript browser iframe

我正在开发一个java webapp,它显示在一个更大的门户网站内的iframe中。

我的webapp必须始终位于外部门户的iframe内部,但是当用户右键单击我的某个webapp链接并“在新窗口/选项卡中打开”时,他会将我的webapp视为新的独立网站窗口。

如何阻止在门户网站的iframe之外看到我的应用?

3 个答案:

答案 0 :(得分:3)

您所指的功能是在浏览器级别,因此无法删除(即链接选项将始终存在)。您可以采取以下措施来确保您的应用在框架内运行:

  1. 检查是否存在框架:

    if (top === self) { not in a frame } else { in a frame }

  2. 禁用右键菜单(按住ctrl +单击仍然有效)下面是简单示例。

    <body oncontextmenu="return false;">

  3. 注意:虽然我确定不言而喻,但如果用户禁用了JavaScript,则此方法无效。

答案 1 :(得分:1)

在加载时检查window.parent

答案 2 :(得分:1)

使用javascript,您可以检测到您是否在iframe中运行。看:How to identify if a webpage is being loaded inside an iframe or directly into the browser window?