javascript - 防止在空 iFrame 上进行复制 (GWT RichTextArea)

标签 javascript gwt iframe event-handling rich-text-editor

我需要防止从表单中复制。使用oncopy处理程序在所有 <input/> 上工作得很好- 类型字段。

但是我未能将其应用到我们的“richtextarea”,它基本上是一个空的 iframe(src="about:blank" 对于我能够收集的内容;该页面是 GWT 生成的,并且在我之前的人开发了相当广泛的围绕它的框架)。

我能够在 JavaScript 中获取 iframe,但我没有正确的处理程序(我尝试添加一个可以记录日志的处理程序,但它从来没有这样做)。

我已经尝试过frame.oncopy , frame.contentWindow.oncopy , frame.contentWindow.document.oncopy , frame.contentDocument.oncopy 。当我复制 iframe 的内容时,这些都不会记录到控制台。

有人可以帮我吗?感谢任何帮助(我已经坚持这个问题好几天了)。

拥有一个交叉兼容的解决方案当然是理想的,但主要目标是 Firefox(该页面只能通过基于 Firefox 10 的自定义容器打开)。

编辑2015-03-24

对于那些想要尝试一些调试脚本的人,我遇到问题的组件是演示的 here .

我有一些native Java 项目中的方法来执行一些自定义 JavaScript。

下面是我尝试过的一些 JavaScript,但没有成功。

var frame = document.getElementsByTagName('iframe')[0];

function disallowCopy() {
    alert('Gotcha!');
    return false;
}

frame.oncopy = disallowCopy;
frame.contentWindow.oncopy = disallowCopy;
frame.contentWindow.document.oncopy = disallowCopy;
frame.contentWindow.document.body.oncopy = disallowCopy;
frame.contentDocument.oncopy = disallowCopy;

最佳答案

尽管 oncopy 是一个非标准事件 https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/oncopy并且没有可靠的方法来防止复制文本,

您可以查看以下bin

  1. 确保框架已加载
  2. 使用 iframe.contentDocument.body 附加事件

关于javascript - 防止在空 iFrame 上进行复制 (GWT RichTextArea),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29206774/

相关文章:

java - GWT ui.xml 转换

java - GWT。删除 anchor 部分 url

java - 从 GWT 设置 html 字段?

html - 如何在 <td> 屏幕宽度的 33% 内制作 iframe?

javascript - 如何更改此 iframe 的大小?

javascript - 使用 gulp-uglify 丑化 JS IIFE 后缺少代码

javascript - Protractor - 正确处理错误......

javascript - 如何统计过滤后显示的表格行数?

javascript - 如何从日期对象中获取年/月/日?

javascript - 可拖动的 iFrame 注册点击而不是拖动