customToolbarDemo.html 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  5. <title></title>
  6. <script type="text/javascript" charset="utf-8" src="../ueditor.config.js"></script>
  7. <script type="text/javascript" charset="utf-8" src="editor_api.js"></script>
  8. <style type="text/css">
  9. #editor {
  10. border: 1px solid #CCC;
  11. width: 1000px
  12. }
  13. #editor_toolbar_box {
  14. background: #F0F0EE;
  15. padding: 2px;
  16. }
  17. #editor_iframe_holder {
  18. border-top: 1px solid #CCC;
  19. border-bottom: 1px solid #CCC;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <h1>UEditor自定义toolbar</h1>
  25. <div id="editor">
  26. <div id="editor_toolbar_box">
  27. <div id="editor_toolbar">
  28. <input id="bold" type="button" value="加粗" onclick="myeditor.execCommand('bold')" style="height:24px;line-height:20px"/>
  29. <input id="italic" type="button" value="加斜" onclick="myeditor.execCommand('italic')" style="height:24px;line-height:20px"/>
  30. <select id="fontfamily" onchange="myeditor.execCommand('fontfamily',this.value)">
  31. <option value="宋体,simsun">宋体</option>
  32. <option value="楷体,楷体_gb2312,simkai">楷体</option>
  33. <option value="隶书,simli">隶书</option>
  34. <option value="黑体,simhei">黑体</option>
  35. <option value="andale mono,times">andale mono</option>
  36. <option value="arial,helvetica,sans-serif">arial</option>
  37. <option value="arial black,avant garde">arial black</option>
  38. <option value="comic sans ms,sans-serif">comic sans ms</option>
  39. </select>
  40. <select id="fontsize" onchange="myeditor.execCommand('fontsize',this.value)">
  41. <option value="10pt">10pt</option>
  42. <option value="11pt">11pt</option>
  43. <option value="12pt">12pt</option>
  44. <option value="14pt">14pt</option>
  45. <option value="16pt">16pt</option>
  46. <option value="18pt">18pt</option>
  47. <option value="20pt">20pt</option>
  48. <option value="22pt">22pt</option>
  49. <option value="24pt">24pt</option>
  50. <option value="36pt">36pt</option>
  51. </select>
  52. <input type="button" value="插入html" onclick="insert()" style="height:24px;line-height:20px"/>
  53. <input type="button" value="清除格式" onclick="myeditor.execCommand('removeformat')" style="height:24px;line-height:20px"/>
  54. <input type="button" value="获得编辑器内容" onclick="alert(myeditor.getContent())" style="height:24px;line-height:20px"/>
  55. <input type="button" value="获得编辑器纯文本内容" onclick="alert(myeditor.getContentTxt())" style="height:24px;line-height:20px"/>
  56. </div>
  57. </div>
  58. <div id="editor_iframe_holder" ></div>
  59. </div>
  60. <script type="text/javascript" charset="utf-8">
  61. function $G(id){
  62. return document.getElementById(id);
  63. }
  64. //实例化一个不带ui的编辑器,注意此处的实例化对象是baidu.editor下的Editor,而非baidu.editor.ui下的Editor
  65. var myeditor = UE.getEditor('editor_iframe_holder',{
  66. toolbars:[[]],
  67. initialContent: '初始化内容',//初始化编辑器的内容
  68. initialFrameHeight: 200
  69. });
  70. //给编辑器增加一个选中改变的事件,用来判断所选内容以及状态
  71. myeditor.addListener('selectionchange', function (){
  72. var cmdName = ['bold','italic'],//命令列表
  73. fontName = ['fontfamily','fontsize'];//字体设置下拉框列表,此处选择其中两个
  74. //查询每个命令当前的状态,并设置对应状态样式
  75. var i =-1;
  76. while(i++ < cmdName.length-1){
  77. var state = myeditor.queryCommandState(cmdName[i]);
  78. $G(cmdName[i]).style.color = state == 1?"red":"";
  79. }
  80. //依据当前光标所在的字体改变下拉列表的选中值
  81. i = -1;
  82. while(i++<fontName.length-1){
  83. var fstate = myeditor.queryCommandValue(fontName[i]).toLowerCase();
  84. var fselect = $G(fontName[i]);
  85. for(var j= 0;j<fselect.options.length;j++){
  86. if(fselect.options[j].value.toLowerCase().indexOf(fstate.split(",")[0])!=-1){
  87. fselect.options[j].selected = "true";
  88. }
  89. }
  90. }
  91. });
  92. //插入文本
  93. function insert(){
  94. var insertTxt = "插入的文本";
  95. insertTxt = prompt("插入的内容",insertTxt);
  96. insertTxt&&myeditor.execCommand("inserthtml",insertTxt);
  97. }
  98. function execUnderline(cmd){
  99. myeditor.execCommand(cmd);
  100. }
  101. </script>
  102. </body>
  103. </html>