我需要防止从表单中复制。使用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
- 确保框架已加载
- 使用
iframe.contentDocument.body
附加事件
关于javascript - 防止在空 iFrame 上进行复制 (GWT RichTextArea),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29206774/