gpt4 book ai didi

jquery - 如何防止CKEditor为其iframe设置标题?

转载 作者:行者123 更新时间:2023-12-03 22:57:47 25 4
gpt4 key购买 nike

我使用 CKEditor 以及 jQuery UI 的工具提示插件。发生的情况是,CKEditor 将 title 属性设置为其 iframe 元素,并且 jQuery 工具提示插件将其转换为工具提示,然后,每当您将鼠标悬停在编辑器的任何部分上时(每次编辑文本时都必须执行此操作) ,工具提示始终显示“富文本编辑器,elementId”。

即使我将工具提示插件的选择器设置为“*:not(iframe)”,它仍然会执行此操作。到目前为止,我发现不设置 iframe 工具提示的唯一方法是从选择器中排除“div”,但随后我也会丢失编辑器的粗体/斜体等选项的工具提示。

而且我在 CKEditor 的 Javascript 中找不到设置 iframe 标题的代码部分,因此我可以将其删除。我发现的一部分是语言文件中的实际标题字符串,我可以在其中将“富文本编辑器”替换为空字符串,但它仍然将 iframe 的标题设置为“, {elementId}”。

感谢任何帮助,我很乐意保留这两个插件。

最佳答案

在为另一位不太可能很快需要屏幕阅读器的开发人员开发自定义 CMS 时遇到了完全相同的问题。

谢谢mihaisimi供您指点。通过深入研究 CKEditor 实例属性,我最终编写了下面的 JS 位,以从内容区域中删除“富文本编辑器,element_id”标题。

CKEDITOR.on("instanceReady", function(e) {
var $frame = $(e.editor.container.$).find(".cke_wysiwyg_div");
if($frame) $frame.attr("title", "");
});

所以基本上,一旦 CKEditor 加载,我就会将 CKEditor 的容器包装在 jQuery 对象中,我会查找实际内容 div.find()并使用 .attr() 删除其标题.

请注意,此解决方案需要 jQuery。我在“div 模式”下使用 CKEditor 版本 4.1.1。任何在“iframe 模式”下使用类似版本的人都可能会通过更改 .find(".cke_wysiwyg_div") 来逃脱惩罚。至.find(".cke_wysiwyg_frame") .

例如,您可以将代码位附加到 ckeditor/config.js 文件中。它不漂亮,但有效。

希望我的解决方案可以帮助任何遇到此问题的人。

关于jquery - 如何防止CKEditor为其iframe设置标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14558400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com