我正在尝试将plugin.js脚本中的变量传递给我的customTag.js脚本。
我有以下内容:
plugin.js
//I want to pass id from my plugin.js to my customTag.js
CKEDITOR.plugins.add('customTag',
{
init : function(editor){
var pluginName = 'customTag';
var id = editor.config.id;
CKEDITOR.dialog.add(pluginName, this.path + 'dialogs/customTag.js');
editor.addCommand(pluginName, new CKEDITOR.dialogCommand(pluginName));
editor.ui.addButton('customTag', { label : 'customTag', command : pluginName });
}
}
);
在我的customTag.js
中( function(){
codes...
console(id) // gives me error.
})();
任何人都可以帮我解决这个问题吗?
谢谢!
答案 0 :(得分:6)
由于CKEditor只是一个对象,你可以在编辑器的配置中定义自己的属性,并在插件中获取它,因为编辑器正在传递给init函数。
CKEDITOR.replace('mytextarea', {
customValues: { name: 'myname' },
extraPlugins: 'myplugin'
}
然后在插件中:
CKEDITOR.plugins.add('myplugin',
{
init: function (editor) {
console.log(editor.config.customValues.name);
}
}
答案 1 :(得分:2)
您可以尝试通过localStorage传递它:
localStorage.id = JSON.stringify(id);
和:
console(localStorage.id);
var id = JSON.parse(localStorage.id);
答案 2 :(得分:0)
目前没有办法开箱即用,但您可以尝试使用CKEditor中的补丁,这可能有助于实现您的目标: