1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
<!doctype html>
<head>
<meta charset="utf-8">
</head>
<body>
<script>
for (const command of [
["bold", ""],
["italic", ""],
["underline", ""],
["strikethrough", ""],
["subscript", ""],
["superscript", ""],
["cut", ""],
["copy", ""],
["paste", ""],
["delete", ""],
["forwarddelete", ""],
["selectall", ""],
["undo", ""],
["redo", ""],
["indent", ""],
["outdent", ""],
["backcolor", "#888888"],
["forecolor", "#888888"],
["hilitecolor", "#888888"],
["fontname", "Courier"],
["fontsize", "6"],
["increasefontsize", ""],
["decreasefontsize", ""],
["inserthorizontalrule", ""],
["createlink", "foo"],
["insertimage", "foo"],
["inserthtml", "foo"],
["inserttext", "foo"],
["insertparagraph", ""],
["gethtml", ""],
["justifyleft", ""],
["justifyright", ""],
["justifycenter", ""],
["justifyfull", ""],
["removeformat", ""],
["unlink", ""],
["insertorderedlist", ""],
["insertunorderedlist", ""],
["formatblock", "h1"],
["heading", "h1"],
["stylewithcss", "true"],
["usecss", "true"],
["contentreadonly", "true"],
["readonly", "true"],
["insertbronreturn", "true"],
["enableobjectresizing", "true"],
["enableinlinetableediting", "true"],
]) {
document.body.innerHTML = "<div contenteditable>abc</div>";
document.querySelector("div[contenteditable]").focus();
getSelection().removeAllRanges();
try {
document.execCommand(command[0], false, command[1]);
} catch(e) {}
}
</script>
</body>
</html>
|