0

我正在尝试在 iFrame 中打开一些站点,该站点以弹出窗口的形式打开。有些网站不允许自己在 iFrame(Frame Busting)中打开。

我已经搜索过这个。我也有一些解决方案,比如

$(window).bind('beforeunload', function (event) {

        return 'Custom message.';
        });

beforeunload 对我不起作用,因为即使在我的网站内导航它也会运行

我也试过

 // Event handler to catch execution of the busting script.
        window.onbeforeunload = function () { prevent_bust++ };

        // Continuously monitor whether busting script has fired.
        setInterval(function () {
        if (prevent_bust > 0) {  // Yes: it has fired. 
        prevent_bust -= 2;     // Avoid further action.
        // Get a 'No Content' status which keeps us on the same page.

        window.top.location.href = 'http://mysiteurl/#';
        }
        }, 1);

上面也不起作用,它会重定向到在 iFrame 中打开的 url。

那么是否有任何解决方案可以在 IFrame 中打开站点(具有 Frame Buster)。

问候,萨加尔·乔希

4

1 回答 1

0

对于 IE,在您的框架中使用它 security="restricted"

<iframe id="frame_id" name="frame_name" security="restricted" src="page.html">  
</iframe>

编辑:我遇到了同样的问题,但我需要脚本等在我的框架中运行,所以安全限制不好。尝试使用沙盒=“...”

  • allow-forms 允许表单提交
  • allow-popups 允许弹出窗口
  • allow-pointer-lock 允许指针锁定
  • allow-same-origin 允许文档保持其来源
  • allow-scripts 允许 JavaScript 执行,也允许特性自动触发
  • allow-top-navigation 允许文档通过导航顶级窗口跳出框架

顶部导航是您想要阻止的,因此将其排除在外,这样就不会被允许。任何遗漏的都会被阻止

前任。

        <iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms" src="http://www.example.com"</iframe>
于 2013-12-27T19:49:42.193 回答