147
社区成员




我在tinymce中尝试着加入一些js代码方便用户可以更好的看到呈现的效果,但是我试过很多方法,js对tinymce的iframe不起作用
setup: function(editor) {
//在这里加载额外的javascript文件
editor.on('init',function(){
const scriptId=editor.dom.uniqueId();
const scriptEle=editor.dom.create("script",{
id:scriptId,
type:"text/javascript",
src:"js/1.js"
})
editor.getDoc().getElementsByTagName("head")[0].appendChild(scriptEle);
});
},
我也试了用创建<script>标签方面,结果依然无果,有无大神会呀~
您在TinyMCE编辑器中无法直接通过js代码操作iframe的内容,因为iframe中的内容与主页面是不同的域。
但是TinyMCE提供了丰富的API可以实现您的需求。主要有以下两种方法:
1、使用editor对象操作内容
可以通过editor对象的执行命令来修改编辑器中的内容,例如:
tinymce.activeEditor.execCommand('bold'); // 加粗
tinymce.activeEditor.execCommand('italic'); // 斜体
2、使用editor的内容Document对象
可以通过editor.getDoc()获取编辑器的document对象,然后使用DOM操作对内容进行修改,例如:
let editorDoc = tinymce.activeEditor.getDoc();
let editorBody = editorDoc.body;
let boldElement = editorDoc.createElement('b');
boldElement.innerHTML = 'This is bold';
editorBody.appendChild(boldElement);
总之,需要使用TinyMCE提供的接口和对象来对编辑器中的内容进行操作,直接通过js对iframe不起作用。