我怎样才能让Zemanta和Redactor一起工作
How can I get Zemanta and Redactor to work together?
我正在尝试同时使用Zemanta的小部件和Redactor HTML编辑器。 我无法让 Zemanta 找到 Redactor 的iframe/content
,并在单击其中一个小部件后向其发送更新。
Redactor创建了一个iframe
,但将真正的textarea
隐藏在幕后,我想在两者之间发送更新,但我无法弄清楚如何同时更新两者。 如果我使用它更新textarea
ID
,它可以工作,但除非我单击code view
,否则我在 Redactor 中看不到它。 如果我使用 iframe
类,我会在编校中看到它,但它不会在textarea
内进行更改,当我保存时,我什么也得不到。
.redactor_frame (redactor IFRAME)
#zemanta_content (textarea)
如何使用泽曼塔的小部件更新两者?
get_editor: function () {
var elm = null, win = null, editor = {element: null, property: null, type: null, win: null};
try {
elm = $('.redactor_frame').get(0);
if (elm && elm.contentWindow) {
win = elm.contentWindow;
elm = null;
} else {
elm = $('#zemanta_content').get(0);
}
editor = win && {element: win.document.body, property: 'innerHTML', type: 'RTE', win: win} ||
elm && {element: elm, property: 'value', type: elm.tagName.toLowerCase(), win: null} ||
editor;
} catch (er) {
$.zemanta.log(er);
}
return editor;
}
来自泽曼塔的安德拉兹在这里。
我不确定这会是一件容易解决的事情,但我们会让我们的前端开发人员看看这个问题。
由于 Redactor 编辑器的行为方式略非标准,也许最好的办法是寻求他们的支持。
正如Andraz指出的那样,在这种情况下仅覆盖/更改get_editor()是不够的。但是,我可以指出不同的解决方案。其他编辑器似乎经常更新他们使用 iframe 升级的文本区域,如果不是经常更新的话,你会看到它们保持相同的状态。现在,如果您只使用一个,您可以通过 JavaScript 将内容从当前活动的内容复制到后台内容,执行某些关键操作(保存、更新)。这种方法可以为您节省大量时间,并且实施起来可能非常简单。
这对你有帮助吗?
相关文章:
- 转义符不能与innerHTML一起使用
- 高亮显示与数组字符串一起使用时文本插件中断
- setTimeout可以与闭包内的函数一起使用吗
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- 如何将js库与typescript一起使用
- 将webpack和babel与父项目目录中的文件一起使用
- 将 Drag&Drop 与 jsTree 和 DataTables 一起使用
- Javascript-如何让脚本与Ajax请求的数据一起运行
- 将两个ext.TabPanels滚动到一起
- 将jQuery UI Timepicker Addon与React一起使用
- 什么是curl以及如何将其与nodejs一起使用
- Javascript”;onmousemove”;事件无法与类一起使用
- 将require('..')与变量一起使用与在webpack中使用字符串相比
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 三角库可以与firefox一起使用,但不能在Chrome中使用
- 为什么不't我的ruby代码与javascript文件一起插入
- 通过jQueryAjax一起发布Array和Form数据时出现问题
- 如何将eventListeners与Angularjs+Electron一起使用
- 我怎样才能让Zemanta和Redactor一起工作