我正在寻找一个简单的选项来禁止任何 HTML 条目。我想防止用户复制+粘贴他们在网络上找到的外部 HTML,因为它总是会导致问题。
问问题
295 次
1 回答
0
这是跨浏览器的一项肮脏工作。对于 safari 和 chrome,您可以使用粘贴事件。例如:
document.querySelector("div[contenteditable]").addEventListener("paste", function(e) {
e.preventDefault();
var text = e.clipboardData.getData("text/plain");
var temp = document.createElement("div");
temp.innerHTML = text;
document.execCommand("insertHTML", false, temp.textContent);
});
使用 onbeforepaste 和/或 onpaste 的 IE 也是如此。但主要问题是,您无法在 Firefox 中访问剪贴板。一些项目使用隐藏的文本区域并捕获 CTRL+V 之类的键盘组合,但据我所知,这些解决方案并不是很令人满意。
于 2012-12-28T02:06:15.490 回答