Как я могу заставить Zemanta и Redactor работать вместе?

Я пытаюсь использовать виджеты Zemanta и редактор HTML Redactor вместе. Я не могу заставить Земанту найти Редактора iframe/content и иметь возможность отправлять обновления на него после нажатия на один из виджетов.

Редактор создает iframe, но держит реальный textarea Я скрываю за кулисами, я полагаю, что отправка обновлений между ними, но я не могу понять, как обновить оба сразу. Если я обновлю textarea используя это ID, это работает, но я не вижу его в Redactor, если я не нажму code view, Если я использую 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;
            }

2 ответа

Андраз из Земанты здесь.

Я не уверен, что это будет легко исправить, но мы обратимся к нашим разработчикам внешнего интерфейса, чтобы взглянуть на это.

Поскольку редактор Redactor ведет себя немного нестандартно, возможно, лучше всего обратиться к его поддержке.

Как указывал Андраз, переопределение / изменение только get_editor() в этом случае будет недостаточным. Однако я могу скорее указать на другое решение. Другие редакторы, кажется, обновляют текстовую область, которую они обновляют, с помощью iframe довольно часто, если не постоянно, и вы видите, что они находятся в одном и том же состоянии. Теперь, если вы используете только один, вы можете скопировать содержимое с помощью JavaScript из текущего активного в фоновое при некотором ключевом действии (сохранить, обновить). Такой подход сэкономит вам много времени и, вероятно, очень прост в реализации.

Вам это помогло?

Другие вопросы по тегам