Javascript/JQuery 完全阻止 iFrame 内的导航

标签 javascript jquery iframe jquery-events

我在 iframe 中加载了相同的域页面(使用沙箱属性)。我使用以下代码来防止点击(以及所有其他元素)离开页面:

$('#preview_frame').contents().find('body *').off('click').click(
        function(event){
            event.stopPropagation();
            event.preventDefault();
        }
    );

但是,页面上的其他 JavaScript 似乎正在通过 window.location.hrefwindow.location.replace 重定向导航。

我无法更改 iframe 内页面的代码,因为它们是从其他网站代理的。

我尝试使用 iframe 卸载事件但没有成功。

我需要禁用在 iframe 内导航的功能,无论它是如何完成的。我不是在谈论可以通过沙箱属性禁用的顶部父导航,而是在 iframe 本身内部的导航。

有可能实现吗?

最佳答案

您的代码似乎是正确的。如果 iframe 内的页面来自同一域,请删除沙箱属性。希望能解决问题。

沙盒属性始终将内容视为唯一来源。

关于Javascript/JQuery 完全阻止 iFrame 内的导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42456234/

相关文章:

javascript - 错误: Cannot find module 'extract-text-webpack-plugin'

javascript - Vue 标签内的 if-else

javascript - 使用 ajax 将 JSON 数组放入 Select Tag 中仅获取 1 个值

javascript - 如何使用 jQuery 停止文本滚动

jquery - 如何修复 Django 中的错误 AttributeError : 'Country' object has no attribute 'City_set' .

javascript - 如何将本地存储授权 token 从我的站点共享到我的 WebExtension?

javascript - 加载完成事件后的 jQuery

javascript - iFrame 布局和滚动问题

javascript - 单击 iframe 中的链接?

javascript - 当页面A在iframe外部加载时,重定向到页面B并在iframe中加载页面A