如何阻止<iFrame>

How to block all request inside a <iFrame>

本文关键字:iFrame gt lt 何阻止      更新时间:2023-09-26

我们需要阻止加载在IFRAME标记中的页面内的所有请求。页面位于同一域中,但我们需要防止在内部页面中进行导航。显然,我们不知道内页中的元素。它们可能是链接(锚链接)Javascript调用、JQuery调用、Ajax调用、From-submit等等

以下是我们可以处理简单标签和表单标准提交的方法:

$('a').click(function (event) {
    event.preventDefault();
    return false;
});
$(this).submit(function (event) {
    event.preventDefault();
    return false;
});

例如,第一个函数运行良好,但它只是一个标记,但如果使用JQuery触发,则该函数不起作用。

第二种方法只适用于标准表单提交,但不适用于Ajax提交。

有办法处理所有的事件吗?

不确定,但:

$(document).click(function(event){
    event.preventDefault();
});

$('*').unbind('click');
$('[href]').attr('href', '')

看到这个有趣的答案了吗:在jQuery中删除事件处理程序的最佳方法?

您可以简单地将transparent <div>覆盖在与iframe相同的区域上。iframe会正常加载,但您应该无法与它交互。