jldupont
jldupont

Reputation: 96746

Javascript: document.execCommand cross-browser?

I just stumble on a piece of code which I never saw before:

document.execCommand('Copy');

which seems to copy the clipboard contents to the element in focus.

Is this functionality available cross-browser?


I found a page that shows a compatibility matrix for document.execCommand.

Upvotes: 65

Views: 77402

Answers (3)

user3798995
user3798995

Reputation: 51

Yes, I have used it in IE, Chrome, Safari. If it works for these browser then it should work for the rest. Anyway, the execCommand method of the document object is used to execute commands relating to the built in Rich Text Editing features in the browser. The syntax of the execCommand is as follow: document.execCommand(command, uiBool, argument)

The command parameter is the command to execute - bold, underline, font, etc.

Then you have the uiBool which is the boolean value that specifies whether or not the default user interface should be shown.

And the last parameter is the argument use for some commands that requires that we pass an argument. If no argument is required by the command we pass a value of null as the third parameter.

Example:

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

or:

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

Upvotes: 5

peller
peller

Reputation: 4543

This is for 'design mode' where the browser effectively turns the document into an editor. The execCommand API originated with IE and was later added to HTML5. Exactly which commands are supported, as well as their behavior varies across browsers. Clipboard access is considered a security risk.

Upvotes: 29

Daniel Pryden
Daniel Pryden

Reputation: 60957

Update: Well, document.execCommand is documented in the Mozilla DOM documentation, but its description there looks slightly different from the MSDN documentation.

I'm still pretty sure it's not in the ECMA-262 standard.

Upvotes: 3

Related Questions