customToolbarDemo.html 5.5 KB

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