Javascript EmebrJS+;使用其对话框添加链接时发生CKEDITOR错误 报告类型
在chrome 78.0.3904.97中使用CKEditor添加链接会出现以下错误 我也检查了最新的firefox,我可以复制这个Javascript EmebrJS+;使用其对话框添加链接时发生CKEDITOR错误 报告类型,javascript,ember.js,ckeditor,ckeditor4.x,ember-1,Javascript,Ember.js,Ckeditor,Ckeditor4.x,Ember 1,在chrome 78.0.3904.97中使用CKEditor添加链接会出现以下错误 我也检查了最新的firefox,我可以复制这个 link.js?t=J8Q8:27 Uncaught TypeError: Cannot read property 'length' of undefined at CKEDITOR.dialog.onOk (link.js?t=J8Q8:27) at CKEDITOR.dialog.<anonymous> (ckeditor.js:
link.js?t=J8Q8:27 Uncaught TypeError: Cannot read property 'length' of undefined
at CKEDITOR.dialog.onOk (link.js?t=J8Q8:27)
at CKEDITOR.dialog.<anonymous> (ckeditor.js:613)
at CKEDITOR.dialog.l (ckeditor.js:10)
at CKEDITOR.dialog.fire (ckeditor.js:12)
at button.onClick (ckeditor.js:637)
at button.<anonymous> (ckeditor.js:575)
at button.l (ckeditor.js:10)
at button.fire (ckeditor.js:12)
at button.click (ckeditor.js:574)
at CKEDITOR.dom.element.<anonymous> (ckeditor.js:566)
有人知道我该怎么修吗?我已经检查了他们的github问题
也一样,但不幸的是,我在这里找不到任何东西
CKEDITOR.on( 'dialogDefinition', function(e) {
var dialogName = e.data.name,
dialogDefinition = e.data.definition;
if ( dialogName === 'link' ) {
dialogDefinition.onShow = function () {
var dialog = CKEDITOR.dialog.getCurrent(),
linkType = dialog.getContentElement( 'info' , 'linkType' ),
anchorOptions = dialog.getContentElement( 'info' , 'anchorOptions' ),
emailOptions = dialog.getContentElement( 'info' , 'emailOptions' ),
protocol = dialog.getContentElement( 'info' , 'protocol' );
linkType.getElement().hide();
anchorOptions.getElement().hide();
emailOptions.getElement().hide();
protocol.disable();
};
}
} );
我已经用下面的代码更新了这个
CKEDITOR.on( 'dialogDefinition', function(e) {
var dialogName = e.data.name,
dialogDefinition = e.data.definition;
if ( dialogName === 'link' ) {
dialogDefinition.getContents('info').get('protocol')['items'].splice(2, 6);
dialogDefinition.getContents('info').get('linkType')['items'].splice(1, 4);
var target = e.data.definition.getContents('target');
var options = target.get('linkTargetType').items;
for (var i = options.length-1; i >= 0; i--) {
var label = options[i][0];
if (!label.match(/new window/i)) {
options.splice(i, 1);
}
}
var targetField = target.get( 'linkTargetType' );
targetField['default'] = '_blank';
}
} );
如果您可以使用emberjs重新创建此im的问题,我将在中更新该代码here@NewToJS添加了emberjs的代码
CKEDITOR.on( 'dialogDefinition', function(e) {
var dialogName = e.data.name,
dialogDefinition = e.data.definition;
if ( dialogName === 'link' ) {
dialogDefinition.onShow = function () {
var dialog = CKEDITOR.dialog.getCurrent(),
linkType = dialog.getContentElement( 'info' , 'linkType' ),
anchorOptions = dialog.getContentElement( 'info' , 'anchorOptions' ),
emailOptions = dialog.getContentElement( 'info' , 'emailOptions' ),
protocol = dialog.getContentElement( 'info' , 'protocol' );
linkType.getElement().hide();
anchorOptions.getElement().hide();
emailOptions.getElement().hide();
protocol.disable();
};
}
} );
CKEDITOR.on( 'dialogDefinition', function(e) {
var dialogName = e.data.name,
dialogDefinition = e.data.definition;
if ( dialogName === 'link' ) {
dialogDefinition.getContents('info').get('protocol')['items'].splice(2, 6);
dialogDefinition.getContents('info').get('linkType')['items'].splice(1, 4);
var target = e.data.definition.getContents('target');
var options = target.get('linkTargetType').items;
for (var i = options.length-1; i >= 0; i--) {
var label = options[i][0];
if (!label.match(/new window/i)) {
options.splice(i, 1);
}
}
var targetField = target.get( 'linkTargetType' );
targetField['default'] = '_blank';
}
} );