我使用 CKEditor,当用户单击对话框中的“确定”按钮时,我在编辑器的 div 元素中插入 iframe 时遇到问题。这不起作用。当用户单击按钮时,什么也没有发生(我没有错误消息)。所以他应该关闭我的弹出窗口并在我的编辑器中插入一个包含我的 iframe 的 div
你能帮助我吗 ?
这是我的代码:
CKEDITOR.dialog.add('postVideoDialog', function( editor ) {
return { title : 'Add Video', minWidth : 400, minHeight : 80, contents : [ { id : 'video', label : 'Add Video', elements : [ { type : 'text', id : 'url', label : 'Enter a URL from Vimeo :', validate : function() { var url = this.getValue(); var regex1=/^(http:\/\/)vimeo.com\/[0-9]{3,}$/g; var regex2=/^(http:\/\/)player.vimeo.com\/video\/[0-9]{3,}$/g; if(regex1.test(url) || regex2.test(url)){ return true }else{ alert("Url incorrect"); return false; } }, required : true, commit : function( data ) { data.url = this.getValue(); } }, ] } ], onOk : function() { var dialog = this, data = {}, iframe = editor.document.createElement( 'iframe' ), div = editor.document.createElement('div'); this.commitContent( data ); var regex=/^(http:\/\/)vimeo.com\/[0-9]{3,}$/g; //http://vimeo.com/25329849 if(regex.test(data.url)){ var idVideo = data.url.match(/[0-9]{3,}$/g); data.url = "http://player.vimeo.com/video/" + idVideo; } div.setAttribute('class', 'video'); iframe.setAttribute( 'src', data.url + "?byline=0&portrait=0&color=ffffff"); iframe.setAttribute( 'width', '620' ); iframe.setAttribute( 'width', '349' ); iframe.setAttribute( 'frameborder', '0'); div.insertElement(iframe); //problem is here ! editor.insertElement(div); } }; });