2

元のファイルに触れることなく、コアJavaScriptオブジェクト関数にいくつかの機能を追加する必要があります。

名前空間をそのままにして、以下のオブジェクトから次のオブジェクト関数を拡張するにはどうすればよいですか?

コアオブジェクト

    (function() {
        var DOM = tinymce.DOM;

        tinymce.create('tinymce.plugins.WordPress', {

            // i need to extend this function
            _hideButtons : function() {

                // stuff here

            };

        }); 

        tinymce.PluginManager.add('wordpress', tinymce.plugins.WordPress);

    })();

私のオブジェクト

私はこれを試しましたが、機能しません:

    (function() {

        tinymce.create('tinymce.plugins.Mine', {

            init : function(ed, url) {  

                ed.plugins.wordpress._hideButtons.prototype = function() {

                    // new function stuff

                }
            },  

        }); 

        tinymce.PluginManager.add('mine', tinymce.plugins.Mine);

    })();

私は正しい方向に進んでいますか?

4

1 に答える 1

1

実際、拡張は私が必要としていたものではありませんでした。

上記を削除するだけで、問題の関数.prototypeを完全に上書きすることができました。これはまさに私がやりたかったことです。

確認してください...

(function() {

    tinymce.create('tinymce.plugins.Mine', {

        init : function(ed, url) {  

            ed.plugins.wordpress._hideButtons = function() {

                // new function stuff

            }
        },  

    }); 

    tinymce.PluginManager.add('mine', tinymce.plugins.Mine);

})();
于 2012-11-10T02:01:40.733 に答える