在IE8中,TinyMCE是微不足道/无法使用的

时间:2010-12-24 02:48:32

标签: jquery internet-explorer internet-explorer-8 tinymce

我正在使用TinyMCE 3.3.9.3的jQuery版本

在Firefox中,它工作正常(10秒视频描述它正在使用中):http://www.youtube.com/watch?v=TrAE0igfT3I

在IE8(在IE8标准模式下),我无法输入或点击任何按钮。但是,如果我使用ctrl + v进行粘贴,那么我可以开始输入,但按钮仍然不起作用(描述它正在使用的45秒视频):http://www.youtube.com/watch?v=iBSRlE8D8F4

TinyMCE网站上的jQuery TinyMCE演示适用于IE8。

这是初始化代码:

$().ready(function(){

    function tinymce_focus(){
        $('.defaultSkin table.mceLayout').css({'border-color' : '#6478D7'});
        $('.defaultSkin table.mceLayout tr.mceFirst td').css({'border-top-color' : '#6478D7'});
        $('.defaultSkin table.mceLayout tr.mceLast td').css({'border-bottom-color' : '#6478D7'});
    }

    function tinymce_blur(){
        $('.defaultSkin table.mceLayout').css({'border-color' : '#93a6e1'});
        $('.defaultSkin table.mceLayout tr.mceFirst td').css({'border-top-color' : '#93a6e1'});
        $('.defaultSkin table.mceLayout tr.mceLast td').css({'border-bottom-color' : '#93a6e1'});
    }


    $('textarea.tinymce').tinymce({
        script_url : 'JS/tinymce/tiny_mce.js',
        theme : "advanced",
        mode : "exact",
        invalid_elements : "b,i,iframe,font,input,textarea,select,button,form,fieldset,legend,script,noscript,object,embed,table,img,a,h1,h2,h3,h4,h5,h6",

        //theme options 
        theme_advanced_buttons1 : "cut,copy,paste,pastetext,pasteword,selectall,|,undo,redo,|,cleanup,removeformat,|", 
        theme_advanced_buttons2 : "bold,italic,underline,|,bullist,numlist,|,forecolor,backcolor,|", 
        theme_advanced_buttons3 : "", 
        theme_advanced_buttons4 : "", 
        theme_advanced_toolbar_location : "top", 
        theme_advanced_toolbar_align : "left", 
        theme_advanced_statusbar_location : "none", 
        theme_advanced_resizing : false,

        //plugins
        plugins : "inlinepopups,paste",
        dialog_type : "modal",
        paste_auto_cleanup_on_paste : true,

        setup: function(ed){
            ed.onInit.add(function(ed){

                //check for addEventListener -- primarily supported by firefox only
                var edDoc = ed.getDoc();
                if ("addEventListener" in edDoc){
                    edDoc.addEventListener("focus", function(){
                        tinymce_focus();
                    }, false);

                    edDoc.addEventListener("blur", function(){
                        tinymce_blur();
                    }, false);
                }

            });
        }

    });


});

关于它为什么不能在IE8中运行的任何想法?

[edit]:从init中删除所有内容(只留下script_url和主题)会导致相同的症状

4 个答案:

答案 0 :(得分:1)

自从我访问此代码以来已经有一段时间了,所以在更新到tinymce 3.4.4之后我再次浏览了它。

事实证明,父fieldset元素同时具有position:relative和z-index:-1。删除z-index属性然后允许tinymce正常工作。

答案 1 :(得分:0)

如果不向特定的html元素添加控件,则不会出现tinymce实例。 您可以将模式从“exact”设置为“textareas”,或者您必须使用tinymce.execCommand('mceAddControl',true, element_id);*

将addControl添加到元素中

答案 2 :(得分:0)

在初始化编辑器时检查您的URL中是否有#。很奇怪,但因为它我遇到了一些问题。确保URL中没有#确实解决了与此类似的几个问题。希望它能与你合作。

答案 3 :(得分:0)

可能为时已晚 我遇到了同样的问题。在ie9& ie7一切正常,但在ie8中无法输入或点击任何按钮

页面上的

是带有内联样式的“noscrpipt”标签(我知道,noscript btw中有ie8和背景样式的bug)

和解决方案是 - 删除noscript标签中的内联样式(或标签本身),并且tinymce开始正常工作