{"id":2642,"date":"2015-10-29T14:01:07","date_gmt":"2015-10-29T06:01:07","guid":{"rendered":"http:\/\/blog.hoyo.idv.tw\/?p=2642"},"modified":"2020-10-10T08:46:00","modified_gmt":"2020-10-10T00:46:00","slug":"tinymce-4-2-7-%e4%bd%bf%e7%94%a8","status":"publish","type":"post","link":"https:\/\/blog.hoyo.idv.tw\/?p=2642","title":{"rendered":"TinyMCE 4 \u4f7f\u7528"},"content":{"rendered":"<p>\u4e4b\u524d\u4f7f\u7528 CKeditor \u4f5c\u70ba\u7db2\u9801\u7de8\u8f2f\u5668\uff0c\u9019\u5169\u5929\u60f3\u8981\u4e00\u500b\u301d\u62d6\u66f3\u5716\u6a94\u5230\u7de8\u8f2f\u5340\u5957\u7528 base64\u301e\u7684\u6548\u679c\uff0c\u641e\u4e86\u5feb\u4e00\u5929\u5f8c\u6c92\u5565\u9032\u5ea6\u5f8c\uff0c\u8f49\u5230 TinyMCE \u4e4b\u5f8c\uff0cGoogle \u4e00\u5c0f\u4e0b\u5c31\u5b8c\u6210\u4e86...<\/p>\n<p>\u5b98\u7db2\uff1a\u00a0<a href=\"http:\/\/www.tinymce.com\/\" target=\"_blank\" rel=\"noopener\">TinyMCE<\/a><\/p>\n<p>\u8a2d\u5b9a\u53c3\u6578\u53ca\u8aaa\u660e\u5728\u00a0<a href=\"http:\/\/www.tinymce.com\/wiki.php\/Configuration\">Configuration<\/a>\u00a0\u9801\u9762\uff0c<\/p>\n<p>--<\/p>\n<h2>\u505c\u6b62\u9023\u7d50\u6a23\u5f0f\u8f49\u63db<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.drupal.org\/forum\/support\/post-installation\/2007-05-22\/how-do-i-stop-tinymce-from-replacing-absolute-links-with\" target=\"_blank\" rel=\"noopener\">How do I stop TinyMCE from replacing absolute links with root-relative links?<\/a><\/li>\n<\/ul>\n<p>\u9810\u8a2d\u6703\u5c07\u9023\u7d50\u7db2\u5740\u5f9e \"\/?a=Test\" \u4fee\u6539\u70ba \"?a=Test\" \uff0c\u4e5f\u5c31\u662f\u6703\u81ea\u52d5\u4fee\u6b63 server name \uff0c\u4e0d\u904e\u9019\u7a2e\u81ea\u52d5\u901a\u5e38\u90fd\u5f88\u51fa\u932f\u53ef\u4ee5\u95dc\u9589<\/p>\n<pre class=\"lang:js decode:true\">tinymce.init({\r\n    selector: \"#id_Edit_HTML\",\r\n    menubar: false,\r\n    convert_urls : false,\r\n    remove_script_host : false\r\n});<\/pre>\n<p>--<\/p>\n<h2>\u8907\u88fd Word \u8cbc\u4e0a\u6642\u4fdd\u7559\u683c\u5f0f<\/h2>\n<ul>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/29997908\/paste-from-word-to-tinymce\">Paste from Word to TinyMCE<\/a><\/li>\n<\/ul>\n<pre class=\"lang:js decode:true\">paste_word_valid_elements: \"b,strong,i,em,h1,h2,u,p,ol,ul,li,a[href],span,color,font-size,font-color,font-family,mark\",\r\npaste_retain_style_properties: \"all\",<\/pre>\n<p>--<\/p>\n<h2>100% \u958b\u653e HTML \u4ee5\u53ca JavaScript<\/h2>\n<ul>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/6266487\/tinymce-allow-all-html-tag\">TinyMce Allow all Html tag<\/a><\/li>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/3187333\/tinymce-disable-escaping\">TinyMCE disable escaping<\/a><\/li>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/28983735\/how-can-i-prevent-tinymce-from-adding-cdata-to-script-tags-and-from-commenting\">How can I prevent TinyMCE from adding CDATA to &lt;script&gt; tags and from commenting out &lt;style&gt; tags?<\/a><\/li>\n<\/ul>\n<p>\u5982\u6b64\u5c31\u53ef\u4ee5\u5728\u7de8\u8f2f\u5340\u4f7f\u7528\u6240\u6709 HTML Tag \u4ee5\u53ca\u5207\u63db\u5230\u539f\u59cb\u78bc\u8f38\u5165 JavaScript \u4ee3\u78bc<\/p>\n<pre class=\"lang:js decode:true\">tinymce.init({\r\n    selector: \"#id_Add_HTML\",\r\n    \/\/menubar: false,\r\n    content_css: \"Page\/css\/custom.css\",\r\n    language: \"zh_TW\",\r\n    valid_elements : '*[*]',\r\n    extended_valid_elements : '*[*]',\r\n    entity_encoding : \"raw\",\r\n    init_instance_callback : function(editor) {\r\n        \/\/ jw: this code is heavily borrowed from tinymce.jquery.js:12231 but modified so that it will\r\n        \/\/     just remove the escaping and not add it back.\r\n        editor.serializer.addNodeFilter('script,style', function(nodes, name) {\r\n            var i = nodes.length, node, value, type;\r\n\r\n            function trim(value) {\r\n                \/*jshint maxlen:255 *\/\r\n                \/*eslint max-len:0 *\/\r\n                return value.replace(\/(&lt;!--\\[CDATA\\[|\\]\\]--&gt;)\/g, '\\n')\r\n                    .replace(\/^[\\r\\n]*|[\\r\\n]*$\/g, '')\r\n                    .replace(\/^\\s*((&lt;!--)?(\\s*\\\/\\\/)?\\s*&lt;!\\[CDATA\\[|(&lt;!--\\s*)?\\\/\\*\\s*&lt;!\\[CDATA\\[\\s*\\*\\\/|(\\\/\\\/)?\\s*&lt;!--|\\\/\\*\\s*&lt;!--\\s*\\*\\\/)\\s*[\\r\\n]*\/gi, '\\n')\r\n                    .replace(\/\\s*(\\\/\\*\\s*\\]\\]&gt;\\s*\\*\\\/(--&gt;)?|\\s*\\\/\\\/\\s*\\]\\]&gt;(--&gt;)?|\\\/\\\/\\s*(--&gt;)?|\\]\\]&gt;|\\\/\\*\\s*--&gt;\\s*\\*\\\/|\\s*--&gt;\\s*)\\s*$\/g, '\\n');\r\n            }\r\n            while (i--) {\r\n                node = nodes[i];\r\n                value = node.firstChild ? node.firstChild.value : '';\r\n\r\n                if (value.length &gt; 0) {\r\n                    node.firstChild.value = trim(value);\r\n                }\r\n            }\r\n        });\r\n    },\r\n    setup: function (editor) {\r\n        editor.on('change', function () {\r\n            tinymce.triggerSave();\r\n        });\r\n    },\r\n    plugins: [\r\n        \"advlist autolink lists link image charmap preview anchor visualblocks code fullscreen insertdatetime media table contextmenu paste autoresize textcolor fullpage nonbreaking\"\r\n    ],\r\n    toolbar: \"insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image forecolor backcolor  \",\r\n\r\n    paste_data_images: true\r\n});\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>--<\/p>\n<h2>\u4f7f\u7528 CodeMirror \u512a\u5316\u539f\u59cb\u78bc\u7de8\u8f2f<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/christiaan\/tinymce-codemirror\">tinymce-codemirror<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/codemirror\/CodeMirror\/releases\/tag\/4.8.0\">4.8.0<\/a><\/li>\n<\/ul>\n<pre class=\"lang:js decode:true \">tinymce.init({\r\n    selector: \"#id_Edit_HTML\",\r\n    menubar: false,\r\n    content_css: \"Page\/css\/custom.css\",\r\n    language: \"zh_TW\",\r\n    valid_elements : '*[*]',\r\n    extended_valid_elements : '*[*]',\r\n    entity_encoding : \"raw\",\r\n    codemirror: {\r\n        indentOnInit: true, \/\/ Whether or not to indent code on init.\r\n        fullscreen: true,   \/\/ Default setting is false\r\n        path: 'CodeMirror', \/\/ Path to CodeMirror distribution\r\n        config: {           \/\/ CodeMirror config object\r\n            mode: 'application\/x-httpd-php',\r\n            lineNumbers: false\r\n        },\r\n        width: 800,         \/\/ Default value is 800\r\n        height: 600,        \/\/ Default value is 550\r\n        saveCursorPosition: true,    \/\/ Insert caret marker\r\n        jsFiles: [          \/\/ Additional JS files to load\r\n            'mode\/clike\/clike.js',\r\n            'mode\/php\/php.js'\r\n        ]\r\n    },\r\n    init_instance_callback : function(editor) {\r\n        \/\/ jw: this code is heavily borrowed from tinymce.jquery.js:12231 but modified so that it will\r\n        \/\/     just remove the escaping and not add it back.\r\n        editor.serializer.addNodeFilter('script,style', function(nodes, name) {\r\n            var i = nodes.length, node, value, type;\r\n\r\n            function trim(value) {\r\n                \/*jshint maxlen:255 *\/\r\n                \/*eslint max-len:0 *\/\r\n                return value.replace(\/(&lt;!--\\[CDATA\\[|\\]\\]--&gt;)\/g, '\\n')\r\n                    .replace(\/^[\\r\\n]*|[\\r\\n]*$\/g, '')\r\n                    .replace(\/^\\s*((&lt;!--)?(\\s*\\\/\\\/)?\\s*&lt;!\\[CDATA\\[|(&lt;!--\\s*)?\\\/\\*\\s*&lt;!\\[CDATA\\[\\s*\\*\\\/|(\\\/\\\/)?\\s*&lt;!--|\\\/\\*\\s*&lt;!--\\s*\\*\\\/)\\s*[\\r\\n]*\/gi, '\\n')\r\n                    .replace(\/\\s*(\\\/\\*\\s*\\]\\]&gt;\\s*\\*\\\/(--&gt;)?|\\s*\\\/\\\/\\s*\\]\\]&gt;(--&gt;)?|\\\/\\\/\\s*(--&gt;)?|\\]\\]&gt;|\\\/\\*\\s*--&gt;\\s*\\*\\\/|\\s*--&gt;\\s*)\\s*$\/g, '\\n');\r\n            }\r\n            while (i--) {\r\n                node = nodes[i];\r\n                value = node.firstChild ? node.firstChild.value : '';\r\n\r\n                if (value.length &gt; 0) {\r\n                    node.firstChild.value = trim(value);\r\n                }\r\n            }\r\n        });\r\n    },\r\n    setup: function (editor) {\r\n        editor.on('change', function () {\r\n            tinymce.triggerSave();\r\n        });\r\n    },\r\n    plugins: [\r\n        \"advlist autolink lists link image charmap preview anchor visualblocks code fullscreen insertdatetime media table contextmenu paste autoresize textcolor fullpage nonbreaking codemirror\"\r\n    ],\r\n    toolbar: \"insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image forecolor backcolor | code \",\r\n\r\n    paste_data_images: true\r\n});\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u672c\u4f86\u539f\u59cb\u78bc\u7de8\u8f2f\u9577\u9019\u6a23\uff0c\u6c92\u7a7a\u767d\u3001\u6c92\u7e2e\u884c\uff0c\u4fee\u6539\u8d77\u4f86\u975e\u5e38\u75db\u82e6<\/p>\n<p><a href=\"\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-503.png\" target=\"_blank\" rel=\"noopener\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" class=\"alignnone wp-image-3652 size-medium\" src=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-503-300x178.png\" alt=\"\" width=\"300\" height=\"178\" srcset=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-503-300x178.png 300w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-503-768x456.png 768w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-503-1024x608.png 1024w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-503-500x297.png 500w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-503.png 1280w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\u6539\u7528 CodeMirror \u4e4b\u5f8c\u9577\u9019\u6a23<\/p>\n<p><a href=\"\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-504.png\" target=\"_blank\" rel=\"noopener\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" class=\"alignnone wp-image-3653 size-medium\" src=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-504-300x178.png\" alt=\"\" width=\"300\" height=\"178\" srcset=\"https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-504-300x178.png 300w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-504-768x456.png 768w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-504-1024x608.png 1024w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-504-500x297.png 500w, https:\/\/blog.hoyo.idv.tw\/wp-content\/uploads\/2015\/10\/Image-504.png 1280w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>--<\/p>\n<h2>\u81ea\u8a02 CodeMirror<\/h2>\n<ul>\n<li><a href=\"http:\/\/kindeditor.net\/view.php?bbsid=7&amp;postid=8668&amp;pagenum=1\" target=\"_blank\" rel=\"noopener\">\u4e3b\u9898: kindeditor\u7f16\u8f91\u5668\u6e90\u7801\u6a21\u5f0f\u4e0b\u4ee3\u7801\u9ad8\u4eae\u7684\u5b9e\u73b0<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/christiaan\/tinymce-codemirror\/blob\/master\/plugins\/codemirror\/codemirror-4.8\/demo\/folding.html\">folding.html<\/a><\/li>\n<\/ul>\n<p>\u4e0d\u4f7f\u7528 TAB \u7e2e\u6392\u3001\u7e2e\u6392\u56db\u500b\u7a7a\u683c\u3001\u555f\u7528 Tag \u5c0d\u61c9\u3001\u555f\u7528\u6298\u758a\u529f\u80fd\u3001\u958b\u555f\u884c\u6578\u986f\u793a<\/p>\n<pre class=\"lang:js decode:true \">tinymce.init({\r\n    selector: \"#id_Edit_HTML\",\r\n    menubar: false, \/\/\r\n    content_css: \"Page\/css\/custom.css\",\r\n    language: \"zh_TW\",\r\n    valid_elements : '*[*]',\r\n    extended_valid_elements : '*[*]',\r\n    entity_encoding : \"raw\",\r\n    force_br_newlines : false,\r\n    force_p_newlines : false,\r\n    forced_root_block : '',\r\n    paste_word_valid_elements: \"b,strong,i,em,h1,h2,u,p,ol,ul,li,a[href],span,color,font-size,font-color,font-family,mark\",\r\n    paste_retain_style_properties: \"all\",\r\n    codemirror: {\r\n        indentOnInit: true, \/\/ Whether or not to indent code on init.\r\n        fullscreen: true,   \/\/ Default setting is false\r\n        path: 'CodeMirror', \/\/ Path to CodeMirror distribution\r\n        config: {           \/\/ CodeMirror config object\r\n            mode: 'application\/x-httpd-php',\r\n            lineNumbers: true,\r\n            indentUnit: 4,\r\n            \/\/\u5339\u914d\u62ec\u53f7\r\n            matchBrackets: true,\r\n            \/\/\u5339\u914d\u6807\u7b7e\r\n            matchTags: { bothTags: true },\r\n            indentWithTabs: false,\r\n            foldGutter: true,\r\n            gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-foldgutter\"],\r\n            extraKeys: {\"Ctrl-Q\": function(cm){ cm.foldCode(cm.getCursor()); }}\r\n        },\r\n        width: 800,         \/\/ Default value is 800\r\n        height: 600,        \/\/ Default value is 550\r\n        saveCursorPosition: true,    \/\/ Insert caret marker\r\n        cssFiles: [\r\n            'addon\/fold\/foldgutter.css'\r\n        ],\r\n        jsFiles: [          \/\/ Additional JS files to load\r\n            'addon\/edit\/matchbrackets.js',\r\n            'addon\/edit\/matchtags.js',\r\n            'addon\/fold\/foldcode.js',\r\n            'addon\/fold\/foldgutter.js',\r\n            'addon\/fold\/brace-fold.js',\r\n            'addon\/fold\/xml-fold.js',\r\n            'mode\/clike\/clike.js',\r\n            'mode\/php\/php.js'\r\n        ]\r\n    },\r\n    init_instance_callback : function(editor) {\r\n        \/\/ jw: this code is heavily borrowed from tinymce.jquery.js:12231 but modified so that it will\r\n        \/\/     just remove the escaping and not add it back.\r\n        editor.serializer.addNodeFilter('script,style', function(nodes, name) {\r\n            var i = nodes.length, node, value, type;\r\n\r\n            function trim(value) {\r\n                \/*jshint maxlen:255 *\/\r\n                \/*eslint max-len:0 *\/\r\n                return value.replace(\/(&lt;!--\\[CDATA\\[|\\]\\]--&gt;)\/g, '\\n')\r\n                    .replace(\/^[\\r\\n]*|[\\r\\n]*$\/g, '')\r\n                    .replace(\/^\\s*((&lt;!--)?(\\s*\\\/\\\/)?\\s*&lt;!\\[CDATA\\[|(&lt;!--\\s*)?\\\/\\*\\s*&lt;!\\[CDATA\\[\\s*\\*\\\/|(\\\/\\\/)?\\s*&lt;!--|\\\/\\*\\s*&lt;!--\\s*\\*\\\/)\\s*[\\r\\n]*\/gi, '\\n')\r\n                    .replace(\/\\s*(\\\/\\*\\s*\\]\\]&gt;\\s*\\*\\\/(--&gt;)?|\\s*\\\/\\\/\\s*\\]\\]&gt;(--&gt;)?|\\\/\\\/\\s*(--&gt;)?|\\]\\]&gt;|\\\/\\*\\s*--&gt;\\s*\\*\\\/|\\s*--&gt;\\s*)\\s*$\/g, '\\n');\r\n            }\r\n            while (i--) {\r\n                node = nodes[i];\r\n                value = node.firstChild ? node.firstChild.value : '';\r\n\r\n                if (value.length &gt; 0) {\r\n                    node.firstChild.value = trim(value);\r\n                }\r\n            }\r\n        });\r\n    },\r\n    setup: function (editor) {\r\n        editor.on('change', function () {\r\n            tinymce.triggerSave();\r\n        });\r\n    },\r\n    plugins: [\r\n        \"advlist autolink lists link image charmap preview anchor visualblocks code fullscreen insertdatetime media table contextmenu paste autoresize textcolor fullpage nonbreaking codemirror\"\r\n    ],\r\n    toolbar: \"insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image forecolor backcolor | code \",\r\n\r\n    paste_data_images: true\r\n});\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>--<\/p>\n<h2>\u64b0\u5beb &lt;script&gt; \u6642\u95dc\u9589\u81ea\u52d5\u589e\u52a0 &lt;p&gt;<\/h2>\n<ul>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/13841986\/tinymce-adding-p-tags-automatically\">tinymce adding p tags automatically?<\/a><\/li>\n<\/ul>\n<pre class=\"lang:js decode:true\">tinyMCE.init({\r\n      mode : \"textareas\",\r\n      theme : \"advanced\",\r\n      force_br_newlines : false,\r\n      force_p_newlines : false,\r\n      forced_root_block : '',\r\n});<\/pre>\n<p>--<\/p>\n<h2>\u5be6\u969b\u61c9\u7528\u6848\u4f8b<\/h2>\n<ul>\n<li>\u62d6\u66f3\u5716\u6a94\uff0c\u4f7f\u7528 Base64 \u5132\u5b58\u00a0<a href=\"http:\/\/stackoverflow.com\/questions\/21082723\/tinymce-can-no-longer-drag-and-drop-images-after-upgrading-from-version-3-to-ver\">tinyMCE can no longer drag and drop images after upgrading from version 3 to version 4<\/a><\/li>\n<li>ajax \u9001\u51fa\u524d\u66f4\u65b0\u00a0<a href=\"http:\/\/stackoverflow.com\/questions\/14393512\/tinymce-textarea-and-post-form-using-ajax\">TinyMCE textarea and post form using ajax<\/a><\/li>\n<li>\u958b\u555f autoresize \u8b93\u7de8\u8f2f\u5340\u81ea\u52d5\u8abf\u6574<\/li>\n<li>\u8a2d\u5b9a\u81ea\u52d5\u5132\u5b58\u66f4\u65b0<\/li>\n<\/ul>\n<pre class=\"lang:js decode:true\">&lt;label for=\"id_NOTE\"&gt;\u5100\u5668\u8aaa\u660e &lt;span id=\"bbb\"&gt;&lt;\/span&gt;&lt;\/label&gt;\r\n&lt;textarea class=\"form-control\" name=\"NOTE\" id=\"id_NOTE\" data-validation-engine=\"validate[required]\"&gt;&lt;\/textarea&gt;\r\n\r\n&lt;script&gt;\r\n    tinymceOptions = {\r\n        selector: \"textarea\",\r\n        theme: \"modern\",\r\n        language: \"zh_TW\", \/\/ \u8a2d\u5b9a\u6b63\u9ad4\u4e2d\u6587\uff0c\u8981\u5148\u4e0b\u8f09\u8a9e\u8a00\u6a94\r\n        menubar: false, \/\/ \u95dc\u9589\u529f\u80fd\u5217\r\n        content_css: \"\/Component_Front\/bootstrap-3.3.5-dist\/css\/bootstrap.min.css\", \/\/ \u8a2d\u5b9a CSS \u6a23\u5f0f\u548c Bootstrap \u4e00\u81f4\r\n        setup: function (editor) {\r\n            \/\/ \u7de8\u8f2f\u5340\u6709\u66f4\u65b0\u5c31\u5132\u5b58\u66f4\u65b0\uff0c\u78ba\u4fdd\u9001\u51fa\u8cc7\u6599\u4e00\u81f4\r\n            editor.on('change', function () {\r\n                tinymce.triggerSave();\r\n            });\r\n        },\r\n        plugins: [\r\n            \"advlist autolink lists link image charmap print preview anchor\",\r\n            \"searchreplace visualblocks code fullscreen\",\r\n            \"insertdatetime media table contextmenu paste autoresize\"\r\n        ],\r\n        \/\/toolbar: \"insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image\",\r\n\r\n        paste_data_images: true\r\n    };\r\n\r\n    tinymce.init(tinymceOptions);\r\n&lt;\/script&gt;<\/pre>\n<p>--<\/p>\n<h2>\u81ea\u8a02\u9810\u8a2d\u9078\u9805<\/h2>\n<p>CKeditor \u6709 config.js \u7684\u9810\u8a2d\u8a2d\u5b9a\u6a94\u53ef\u4f7f\u7528\uff0c\u4e0d\u904e TinyMCE 4 \u4e26\u7121\u985e\u4f3c\u7684\u8a2d\u5b9a (\u81f3\u5c11\u9084\u6c92\u767c\u73fe)\uff0c\u53c3\u8003\u00a0<a href=\"http:\/\/stackoverflow.com\/questions\/14652838\/tinymce-jquery-plugin-setting-a-default-theme-options-globally\">TinyMCE - jQuery Plugin, setting a default Theme\/Options Globally<\/a>\u00a0\u4e4b\u5f8c\u5f97\u5230\u4ee5\u4e0b\u5beb\u6cd5<\/p>\n<pre class=\"lang:js decode:true\">&lt;script&gt;\r\n    \/\/ \u9069\u7528\u5168\u9ad4\u8a2d\u5b9a\r\n    TinyMceConfig = {\r\n        language: \"zh_TW\",\r\n        menubar: false,\r\n        content_css: \"\/Component_Front\/bootstrap-3.3.5-dist\/css\/bootstrap.min.css\",\r\n        paste_data_images: true\r\n    };\r\n\r\n    \/\/ \u6307\u5b9a\u5c0d\u8c61\uff0c\u53ca\u500b\u5225\u8a2d\u5b9a\r\n    TextArea1 = {\r\n        selector: \"textarea\"\r\n    };\r\n\r\n    \/\/ \u5c07\u8a2d\u5b9a\u7269\u4ef6\u5408\u4f75\r\n    $.extend(true, TextArea1, TinyMceConfig);\r\n    \r\n    \/\/ \u521d\u59cb\u5316\u57f7\u884c\r\n    tinymce.init(TextArea1);\r\n&lt;\/script&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>--<\/p>\n<h2>\u8b93\u7de8\u8f2f\u5340\u7684\u6a23\u5f0f\u548c\u524d\u53f0\u4e00\u81f4<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.tinymce.com\/docs\/configure\/content-appearance\/#content_css\">content_css<\/a><\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">tinyMCE.init({\r\n  selector: 'textarea',  \/\/ change this value according to your HTML\r\n  content_css : 'Component_Front\/bootstrap\/css\/bootstrap.min.css'\r\n});<\/pre>\n<p>&nbsp;<\/p>\n<p>--<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"2642\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;3,458&nbsp;total views<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4e4b\u524d\u4f7f\u7528 CKeditor \u4f5c...<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"2642\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;3,458&nbsp;total views<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[262],"tags":[193,93],"_links":{"self":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2642"}],"collection":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2642"}],"version-history":[{"count":14,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2642\/revisions"}],"predecessor-version":[{"id":7460,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/2642\/revisions\/7460"}],"wp:attachment":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}