我被要求防止从表格复制。使用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。
我在Java项目中有一些native
方法可以在其上执行一些自定义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/