0

HTML エントリを禁止する簡単なオプションを探しています。常に問題が発生するため、ユーザーが Web 上で見つけた外部 HTML をコピーして貼り付けることを防止したいと考えています。

4

1 に答える 1

0

これはクロスブラウザを行うための汚い仕事です。サファリとクロームの場合は、貼り付けイベントを使用できます。例えば:

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 に答える