即使有你在这里的所有指导,我也很难让它发挥作用,所以我会尝试在这方面提供尽可能多的帮助。很有可能它不是最终的解决方案,但也许这可以帮助任何想要尝试添加按钮的人。
我什至很难显示一个按钮,所以我把它全部减少到几乎没有弄清楚。
var nicYouTubeOptions = {
buttons : {
'youtube': {name : 'YouTube Link', type : 'nicYouTubeButton'}
},
iconFiles: {
'youtube': 'images/youtube.gif'
}
};
因此,这第一部分代码设置了您的按钮详细信息。换句话说,您用于按钮的图像和您将鼠标悬停在其上时看到的文本。type 旁边列出的最后一部分是'nicYouTubeButton'
,它声明了按下按钮时要调用的函数。
var nicYouTubeButton = nicEditorAdvancedButton.extend({
});
这只是做所有事情的函数(当前为空)。
nicEditors.registerPlugin(nicPlugin,nicYouTubeOptions);
最后一行使用 OPTIONS 函数而不是BUTTON 函数注册插件。
要立即在编辑器中使用此功能,您需要添加已在 OPTIONS 变量中创建的按钮(声明为“youtube”,此处注意小写)。为此,您需要修改文件顶部附近的行,如下所示:
buttonList : ['save','bold','italic','underline','left','center','right','justify','ol','ul','fontSize','fontFamily','fontFormat','indent','outdent','image','upload','link','unlink','forecolor','bgcolor','xhtml','table','youtube'],
如您所见,我已经将“youtube”添加到列表中,确保在项目之间添加逗号。
只需在 EMPTY 函数中添加以下代码nicYouTubeButton
:
width: '350px',
addPane: function () {
this.addForm({
'': { type: 'title', txt: 'YouTube Url' },
'youTubeUrl': { type: 'text', txt: 'URL', value: 'http://', style: { width: '150px'} },
'height': { type: 'text', txt: 'Height', value: '560', style: { width: '150px'} },
'width': { type: 'text', txt: 'Width', value: '315', style: { width: '150px'} }
});
},
submit: function (e) {
var code = this.inputs['youTubeUrl'].value;
var width = this.inputs['height'].value;
var height = this.inputs['width'].value;
if (code.indexOf('watch?v=') > 0) {
code = code.replace('watch?v=','embed/');
}
var youTubeCode = '<iframe width="' + width + '" height="' + height + '" src="' + code + '" frameborder="0" allowfullscreen></iframe>';
this.ne.selectedInstance.setContent(this.ne.selectedInstance.getContent() + youTubeCode);
this.removePane();
}
确保不要删除任何 } 或 {
希望这可以帮助你们中的任何人难以让它像我一样出现。