我在 iframe 中加载了相同的域页面(使用沙箱属性)。我使用以下代码来防止点击(以及所有其他元素)离开页面:
$('#preview_frame').contents().find('body *').off('click').click(
function(event){
event.stopPropagation();
event.preventDefault();
}
);
但是,页面上的其他 JavaScript 似乎正在通过 window.location.href
或 window.location.replace
重定向导航。
我无法更改 iframe 内页面的代码,因为它们是从其他网站代理的。
我尝试使用 iframe 卸载事件但没有成功。
我需要禁用在 iframe 内导航的功能,无论它是如何完成的。我不是在谈论可以通过沙箱属性禁用的顶部父导航,而是在 iframe 本身内部的导航。
有可能实现吗?
最佳答案
您的代码似乎是正确的。如果 iframe 内的页面来自同一域,请删除沙箱属性。希望能解决问题。
沙盒属性始终将内容视为唯一来源。
关于Javascript/JQuery 完全阻止 iFrame 内的导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42456234/