javascript - Google Chrome - 用于禁用超链接提交的 iframe 沙箱不起作用

标签 javascript jquery html google-chrome iframe

使用 Google Chrome 最新稳定版本打开此页面(HTTPS,由于其他依赖项,必须使用 HTTPS)https://example.com/test.php

在页面内,我只有此代码(这是 Brother 打印机维护页):

<iframe sandbox="" id="iframe_display_modules" src="https://192.168.1.57/general/information.html?kind=item"></iframe>

现在,Google Chrome 不尊重我使用“沙箱”的参数。我可以通过单击 iframe 中的任何链接来使用它,但这是不允许的,对吗? enter image description here

谁能告诉我如何阻止用户点击该 iframe?

最佳答案

不幸的是,这不是 sandbox 属性所做的事情。其主要目的是限制子框架在浏览器上运行的能力(例如,阻止其加载到顶部浏览器框架的链接、显示弹出窗口、运行脚本等。)。限制用户可以使用框架执行的操作。

如果要阻止用户与框架交互,请考虑在框架顶部显示透明元素以防止其接收点击事件:

#frame-holder {
  position: relative;
}

#frame-holder iframe {
  width: 200px;
  height: 100px;
  box-sizing: border-box;
}

#frame-holder div {
  position: absolute;
  width: 200px;
  height: 100px;
  z-index: 1;
}
<div id="frame-holder">
  <div></div>
  <iframe sandbox src="http://example.com/"></iframe>
</div>

关于javascript - Google Chrome - 用于禁用超链接提交的 iframe 沙箱不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29981363/

相关文章:

Jquery cycle - 如何在不破坏缩略图寻呼机的情况下将我的图像包装在 span 标签中?

javascript - 如果在 iOS 和 Android 上的 Web 应用程序中使用 FormData 发送,文件将转换为 [Object object] 字符串

javascript - 将鼠标悬停在链接上并更改 div 的背景图像 - JQuery

c# - 如何在 C# 中使用 HtmlAgilityPack 获取 HTML 元素的内容?

html - polymer 预载微调器

javascript - 如何在html5中填充纹理(并且仍然能够改变颜色?)

Javascript - 如何使用查询选择器获得玩家的名字?

javascript - 如何创建 react native ios 共享扩展应用程序

javascript - 如何允许仅删除登录用户

javascript - 了解 JavaScript 事件和修复动态电子邮件错误的时间