web-dev-qa-db-ja.com

Javascript:document.execCommandクロスブラウザー?

私は今まで見たことのないコードを見つけました:

document.execCommand('Copy');

クリップボードの内容をフォーカスされている要素にコピーしているようです。

この機能はクロスブラウザで利用できますか?


document.execCommandの互換性マトリックスを示す ページ を見つけました。

63
jldupont

これは、ブラウザーがドキュメントをエディターに効果的に変換する「デザインモード」用です。 execCommand APIはIEで始まり、後で HTML5に追加されました。 正確にサポートされているコマンドとそのコマンド動作はブラウザによって異なります。クリップボードアクセスはセキュリティリスクと見なされます。

27
peller

はい、IE、Chrome、Safariで使用しました。これらのブラウザで機能する場合は、残りでも機能するはずです。とにかく、execCommandオブジェクトのdocumentメソッドは、ブラウザの組み込みのリッチテキスト編集機能に関連するコマンドを実行するために使用されます。 execCommandの構文は次のとおりです。document.execCommand(command, uiBool, argument)

コマンドパラメータは、実行するコマンドです-太字、下線、フォントなど。

次に、デフォルトのユーザーインターフェイスを表示するかどうかを指定するブール値であるuiBoolがあります。

そして最後のパラメーターは、引数を渡す必要がある一部のコマンドで使用される引数です。コマンドが引数を必要としない場合、3番目のパラメーターとしてnullの値を渡します。

例:

document.getElementById("whateverID").document.execCommand('bold', false, null);

または:

document.getElementById("whateverID").document.execCommand('bold', false, <a variable nae>);
4
user3798995

更新:さて、document.execCommandMozilla DOMのドキュメント に記載されていますが、その説明はMSDNのドキュメントとは少し異なります。

私はまだそれがECMA-262標準にないことをかなり確信しています。

3
Daniel Pryden