123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <div class="layui-form-item layui-form-text">
- <label class="layui-form-label">内容</label>
- <div class="layui-input-block">
- <textarea name="[field]" id="container">{notempty name="$[item].[field]"}{$[item]->getData('[field]')}{/notempty}</textarea>
- </div>
- </div>
- <!-- 配置文件 -->
- <script type="text/javascript" src="__PUBLIC__/tinymce/js/tinymce/tinymce.min.js"></script>
- <!-- 实例化编辑器 -->
- <script type="text/javascript">
- //http://tinymce.ax-z.cn/advanced/some-example.php
- var tinyID = 'container';
- var host = location.protocol + location.port + "//" + document.domain;
- tinymce.init({
- selector: '#' + tinyID,
- language: 'zh_CN',//注意大小写
- height: 350,
- plugins: 'link image autosave fullscreen autolink code media preview paste',
- toolbar: 'undo redo restoredraft| bold italic underline | image media code | fullscreen ',
- relative_urls: false,//绝对URL
- document_base_url: host,
- autosave_interval: "10s",//自动存稿的世界间隔
- //上传自定义
- images_upload_handler: function (blobInfo, succFun, failFun) {
- var xhr, formData;
- var file = blobInfo.blob();//转化为易于理解的file对象
- xhr = new XMLHttpRequest();
- xhr.withCredentials = false;
- xhr.open('POST', "{:url('attachment/upload')}");
- xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
- xhr.onload = function () {
- var json;
- if (xhr.status != 200) {
- failFun('HTTP Error: ' + xhr.status);
- return;
- }
- json = JSON.parse(xhr.responseText);
- //console.log(json);
- if (!json || typeof json.data.src != 'string') {
- failFun('Invalid JSON: ' + xhr.responseText);
- return;
- }
- succFun(json.data.src);
- };
- formData = new FormData();
- formData.append('file', file, file.name);//此处与源文档不一样
- formData.append('use', 'article_content');//上传附件的参数
- xhr.send(formData);
- },
- //传统点击submit提交按钮会自动同步内容,但ajax之类的用事件提交会导致内容没有同步,暂时的解决办法是在初始化参数中setup参数里加入事件监听,让他自动同步。
- setup: function (editor) {
- editor.on('change', function () {
- editor.save();
- });
- },
- });
- function getContent() {
- return tinyMCE.editors[tinyID].getContent();
- }
- </script>
|