Метод setContent () скрипта tinyMCE не работает в Mozilla Firefox - PullRequest
0 голосов
/ 09 февраля 2012

Существует проблема с выполнением следующего оператора:

tinyMCE.get('div_id_name').setContent(headerText);

Этот оператор отлично работает со всеми браузерами, кроме Mozilla Firefox (у меня 9.0).

tinyMCE init code..

Привет, плз, найдите код ниже, надеюсь, это будет полезно.

tinyMCE.init({
    mode: "exact",
    elements: "mceBodyInput",
    theme : "advanced",
    editor_css: "/_scripts/tiny_mce/themes/ui_custom.css",
    theme_advanced_buttons1: buttons,
    theme_advanced_buttons2: "",
    theme_advanced_buttons3: "",
    theme_advanced_toolbar_location: "external",
    theme_advanced_default_background_color: "#eeeeee",
    theme_advanced_toolbar_align: "left",
    theme_advanced_resizing: true,
    theme_advanced_fonts: "Arial=Arial, Geneva;",

    plugins: "autoresize,paste,noneditable",

    setup: function(ed) {
        ed.onInit.add(function(ed) {
            var e = tinymce.DOM.get(ed.id + '_tbl');
            var ifr = tinymce.DOM.get(ed.id + '_ifr');
            e.style.height = (ifr.clientHeight - 2) + "px";
        });
        ed.onNodeChange.add(function(ed) {
            tinyMCE.moveToolbar(ed);
            var sl = document.getElementById("sectionLabel");
            if ($("editAreaDiv").style.visibility == "hidden") {
                sl.innerHTML = "";
            } else {
                switch (ed.id) {
                case "mceHeaderInput":
                    sl.innerHTML = "— Header";
                    break;
                case "mceBodyInput":
                    sl.innerHTML = "— Body";
                    break;
                case "mcePaymentInput":
                    sl.innerHTML = "— Payment Instructions";
                    break;
                case "mceSignatureInput":
                    sl.innerHTML = "— Signature";
                    break;
                case "mceFooterInput":
                    sl.innerHTML = "— Footer";
                    break;
                default:
                    sl.innerHTML = "";
                }
            }
        });

        ed.onActivate.add(function(ed) {
            ed.getBody().style.backgroundColor = "white";
        });
        ed.onDeactivate.add(function(ed) {
            ed.getBody().style.backgroundColor = "#eeeeee";
        });
    },

    onpageload: "hideEditor"
});

1 Ответ

0 голосов
/ 09 февраля 2012

Firefox имеет проблему, если вставленный контент пуст.Вы можете проверить, если headerText.length > 0 и в зависимости от этой вставки или не вставлять содержимое.Если вам действительно нужно что-то вставить, вы можете использовать способ tinymce и установить для содержимого значение «;»;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...