簡體   English   中英

TinyMCE編輯器:Uncaught TypeError:無法設置null的屬性'isMSIE'

[英]TinyMCE editor : Uncaught TypeError: Cannot set property 'isMSIE' of null

我正在使用TinyMCE(v3.5.8)和集成iBrowser插件(v1.4.5)和Codeigniter 2.1.3並且我得到了JavaScript錯誤Uncaught TypeError: Cannot set property 'isMSIE' of null請幫我解決這個問題。 謝謝。

編輯

錯誤在iBrowser插件中。

從下載的文件中我沒有改變任何內容。

在iBrowser插件文件夾中的editor_plugin.js中發生錯誤。

iBrowser插件網址: http ://seoroot.com/blog/computing/programming/tinymce-ibrowser-plugin.html

editor_plugin.js包含以下代碼。

ib = null;

(function() {
    tinymce.create('tinymce.plugins.IBrowserPlugin', {
        init : function(ed, url) {
            // load common script
            tinymce.ScriptLoader.load(url + '/interface/common.js');

            // Register commands
            ed.addCommand('mceIBrowser', function() {
                var e = ed.selection.getNode();

                // Internal image object like a flash placeholder
                if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1) {return}

                ib.isMSIE  = tinymce.isIE;
                ib.isGecko = tinymce.isGecko;
                ib.isWebKit= tinymce.isWebKit;
                ib.oEditor = ed; 
                ib.editor  = ed;
                ib.selectedElement = e;                 
                ib.baseURL = url + '/ibrowser.php'; 
                iBrowser_open();
            });

            // Register buttons
            ed.addButton('ibrowser', {
                title : 'iBrowser',
                cmd :   'mceIBrowser',
                image:  url + '/interface/images/tinyMCE/ibrowser.gif'
            });

            // Add a node change handler, selects the button in the UI when a image is selected
            ed.onNodeChange.add(function(ed, cm, n) {
                cm.setActive('ibrowser', n.nodeName == 'IMG');
            });
        },

        getInfo : function() {
            return {
                longname :  'iBrowser',
                author :    'net4visions.com',
                authorurl : 'http://net4visions.com',
                infourl :   'http://net4visions.com/ibrowser.html',
                version :   '1.4.0'
            };
        }
    });

    // Register plugin
    tinymce.PluginManager.add('ibrowser', tinymce.plugins.IBrowserPlugin);

})();

抱歉。 它的代碼很長。

注意: TinyMCE運行良好,但此插件有一些錯誤。

罪魁禍首是代碼的第一行:

ib = null;

null不能作為對象訪問。 這會拋出你看到的TypeError 我認為,修復方法是將此行更改為:

ib = {};

這樣它就是一個對象,可以設置它的isMSIE屬性。

但是,我有點疑惑為什么這個被明確地設置為null 我試着改變那行代碼,看看是否會破壞某些東西,因為可能原因可能是ib最初為空。

在文件editor_plugin.js(位於ibrowser root plugin文件夾中)注釋掉了這一行:

tinymce.ScriptLoader.load(url + '/interface/common.js');

並添加此

$.getScript(url+'/interface/common.js');

對editor_plugin_src.js執行相同操作。

應該是固定的。 @PhpMyCoder的修復也會起作用。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM