Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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 EmebrJS+;使用其对话框添加链接时发生CKEDITOR错误 报告类型_Javascript_Ember.js_Ckeditor_Ckeditor4.x_Ember 1 - Fatal编程技术网

Javascript EmebrJS+;使用其对话框添加链接时发生CKEDITOR错误 报告类型

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:

在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: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';
      }
    } );