创建创建自定义链接的tinyMCE插件时出现问题

时间:2013-07-24 作者:dcp3450

我正在开发一个与tinyMCE上的“链接”按钮类似的插件:

用户突出显示文本->按下按钮->在thickbox弹出窗口中的框中输入文本->提交表单->然后用户返回编辑器,并更改突出显示的文本。

突出显示的文本具有生成的url作为链接和添加的类。

我在tinyMCE中有一个按钮,单击时,thickbox弹出窗口会显示我的表单。然而,当提交时,什么都不会发生。表单提交,但窗口未关闭,突出显示的文本未进入链接。

我在看wplink。js位于文件夹“/wp includes/js/wplink.js”中,这是一个粗略的基础,但它似乎不起作用。

非常感谢您的帮助。这是我到目前为止的情况。注:谷歌。com被用作本例的测试url。

jQuery(document).ready(function($){

    (function() {
        tinymce.create(\'tinymce.plugins.addTC\', {

            init : function(ed, url){
                ed.addButton(\'addTC\', {
                title : \'Insert Product Link\',
                cmd: \'addTC_Link\',
                image: "/wp-content/plugins/addtc/img/shopping_basket.png",
                onclick: function() {
                        tb_show( \'Insert Product Link\', \'/wp-content/plugins/addtc/addTC_link.php?&height=300&width=600&TB_iframe=true\' );
                    }
                });
                $(\'#addTC_link-submit\').click(function(e){
                    e.preventDefault();
                    var selected_text = ed.selection.getContent();
                    alert(selected_text);
                    var return_text = \'\';
                    var targetURL = "http://www.google.com";
                    return_text = \'<a href="\'+targetURL+\'" class="targetURL">\' + selected_text + \'</span>\';
                    ed.execCommand(\'mceInsertContent\', 0, return_text);
                    tb_remove();
                });
            }
        });

        tinymce.PluginManager.add(\'addTC\', tinymce.plugins.addTC);

    });

});

1 个回复
SO网友:Josh Lobe

更改此项:

ed.execCommand(\'mceInsertContent\', 0, return_text);
对此:

ed.execCommand(\'mceInsertContent\', false, return_text);
tinyMCE的第二个参数。execCommand()函数是一个布尔值,用于说明是否需要向用户显示UI。

参考号:http://www.tinymce.com/wiki.php/API3:method.tinymce.execCommand

结束

相关推荐

如何禁用我的主机强制执行的插件(在u-plugins中)?

我的主机制作了两个必需的插件,它们会在mu plugins文件夹下自动更新。有没有一种方法可以通过一些技巧来禁用它们,例如在我的本地插件文件夹下使用一个同名的插件文件夹,或者复制一些函数并使其为空?