代码之家  ›  专栏  ›  技术社区  ›  gwar9

使用link-Drupal/Jquery UI时,Ckeditor库会从target属性中去掉括号

  •  1
  • gwar9  · 技术社区  · 6 年前

    您好,我有一个drupal 7项目,它使用ckeditor库(不是模块)和一个名为 ckeditor_link .

    我使用这个插件,以便用户可以使用typeahead功能链接所见即所得的内部路径。

    我希望的功能之一是,一旦用户在对话框的链接选项卡中选择内部路径,他们就可以转到目标选项卡并将其值设置为 [dialog] -根据演示,jquery ui对话框的快捷码就是这样工作的 <a href="link-to-content" target="[dialog]">Dialog Link</a> 然而,在 ckeditor库 在缩小的 link.js 剥离非字母字符的文件 commit:function(a){a.target||(a.target={});a.target.name=this.getValue().replace(/\W/gi,"")}

    结果是,当用户链接并打算将该链接作为对话框时,结果实际上是 <a href="link-to-internal-path" target="dialog">Dialog Broken</a> 它不会钩住drupal jquery ui的快捷码/开箱即用功能。

    如何覆盖此ckeditor规则?最好直接在我使用的ckeditor\u链接插件中。

    1 回复  |  直到 6 年前
        1
  •  1
  •   j.swiderski    6 年前

    我不太确定如何为内部链接插入目标(“在文本中链接到锚定”),但看看编辑器代码,我可以告诉你,在CKEditor 4.5.5中,所讨论的Regex模式已经从 /\W/gi /([^\x00-\x7F]|\s)/gi 它不再移除 [] . 请参阅以下代码段:

    console.log("[dialog]".replace(/([^\x00-\x7F]|\s)/gi,""));
    console.log("[dialog]".replace(/\W/gi,""));

    如果这种模式确实是问题的根源,那么我强烈建议将编辑器升级到4.8版。