Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将我自己的值设置为dojo编辑器fontChoice插件?_Javascript_Dojo_Editor - Fatal编程技术网

Javascript 如何将我自己的值设置为dojo编辑器fontChoice插件?

Javascript 如何将我自己的值设置为dojo编辑器fontChoice插件?,javascript,dojo,editor,Javascript,Dojo,Editor,我想使用dojo,但我想使用我自己的formatBlock选项集,即h1带有“我自己的本地化h1标题”,h4带有“我自己的本地化h4标题” 如何做到这一点?实现这一点有多种方法。 一个是制作一个新的插件小部件,继承自dijit/_editor/plugins/FontChoice,在这个新插件中,您将能够处理本地化 另一种方法是下面的代码片段。这是非常直接的,但是不是非常好,因为它会改变页面所有dijit编辑器的区域设置。 如果你只有一个,或者如果所有的都应该是一样的,那么它就可以了 其原理与方

我想使用dojo,但我想使用我自己的formatBlock选项集,即h1带有“我自己的本地化h1标题”,h4带有“我自己的本地化h4标题”


如何做到这一点?

实现这一点有多种方法。 一个是制作一个新的插件小部件,继承自
dijit/_editor/plugins/FontChoice
,在这个新插件中,您将能够处理本地化

另一种方法是下面的代码片段。这是非常直接的,但是不是非常好,因为它会改变页面所有dijit编辑器的区域设置。 如果你只有一个,或者如果所有的都应该是一样的,那么它就可以了

其原理与方法相同,但我们在运行中插入
FontChoice
,而不是创建新的小部件

require([“dojo/_base/lang”、“dijit/Editor”、“dijit/_Editor/plugins/FontChoice”、“dojo/domReady!”),函数(lang、Editor、FontChoice){
//这就是允许您本地化内容的原因
//首先复制原始方法
FontChoice.\u FontDropDown.prototype.postMixInPropertiesOriginal=FontChoice.\u FontDropDown.prototype.postMixInProperties;
//然后覆盖它
lang.extend(FontChoice.\u FontDropDown{
postMixInProperties:函数(){
//调用原始方法以不中断任何函数性
this.postMixInPropertiesOriginal();
//将现有字符串更改为已定位的字符串
lang.mixin(this.strings{
“无格式”:“本地化无”,
“p”:“本地化段落”,
“h1”:“本地化标题”,
“h2”:“本地化副标题”,
“h3”:“本地化副标题”,
“预处理”:“本地化预格式化”
});
}
});
//扩展插件后必须创建编辑器
var编辑器=新编辑器({
外部插件:['fontName','fontSize','formatBlock']
}“测试”);
editor.startup();
});

这是一个更好的解决方案:

require(["dojo/aspect",...], function(aspect,...) {
aspect.after(fontChoice._FontDropDown.prototype, "postMixInProperties", function() {
                lang.mixin(this.strings, {
                    "h1": "localized Heading",
                    "h2": "localized Subheading",
                    "h4": "localized Sub-subheading 4",
                });
       });
 //....
 });

@智能解决方案:)+1我必须将以下内容放入外部插件:{name:'dijit._editor.plugins.FontChoice',命令:'formatBlock',值:['h1','h4']},现在它可以实现我想要的:)