【问题标题】:tinymce 4 and file_browser_callbacktinymce 4 和 file_browser_callback
【发布时间】:2015-10-23 10:30:20
【问题描述】:

我正在尝试执行 file_browser_callback 函数,它似乎不起作用:

在我的浏览器中:

Uncaught TypeError: a is not a function

函数调用:

function elFinderBrowser (field_name, url, type, win) {
    tinymce.activeEditor.windowManager.open({
        file:"http://stores-concept:8899/app_dev.php/admin/elfinder/tinycme",
        title: "elFinder 2.0",
        width: 900,
        height: 450,
        resizable: 'yes'
    }, {
        setUrl: function (url) {
            win.document.getElementById(field_name).value = url;
        }
    });
    return false;
}

还有我的小初始化:

    jQuery(document).ready(function($) {
        var $configs = {"language":"fr","file_browser_callback":"elFinderBrowser","plugins":"bootstrap code codemirror fullscreen preview table visualblocks link image media","toolbar1":"styleselect | bold italic | fontsizeselect | alignleft aligncenter alignright alignjustify | link image media | bootstrap | code preview","menubar":false,"toolbar_items_size":"small","codemirror":"path: \"CodeMirror\"","script_url":"\/bundles\/whadmin\/js\/plugin\/tinymce\/tinymce.min.js"};
        var $textarea = jQuery('#wh_cmsbundle_page_body');
        if($textarea.is('[required]')) {
            $configs.oninit = function(editor) {
                editor.onChange.add(function(ed, l) { ed.save(); });
            };
        }
        $textarea.tinymce($configs);
    });

【问题讨论】:

  • 这个错误是在哪里抛出的?你能显示抛出它的代码吗?
  • “未捕获的类型错误:a 不是函数”
  • 没有别的了。只有“a 不是函数”
  • 这里也一样,真烦人……

标签: symfony tinymce-4


【解决方案1】:

想通了。 TinyMCE 手册中的示例是错误的!他们提供自定义回调作为字符串。来自 TinyMCE 手册:

 tinyMCE.init({
    theme : ...,
    mode: ...,

    file_browser_callback : 'myFileBrowser'
  });

这是完全错误的,回调应该是一个函数而不是一个字符串。所以正确的例子是:

 tinyMCE.init({
    theme : ...,
    mode: ...,

    file_browser_callback : myFileBrowser
  });

【讨论】:

    【解决方案2】:

    我试过这样,它成功了。

    file_browser_callback: function (fieldName, url, type, win) {
                alert("Test");
            }
    

    【讨论】:

      【解决方案3】:

      您也可以使用以下方法:

      <script>
      
      var myBrowser = function(field_name, url, type, win) {
          alert('Hello');
      }
      
      tinymce.init({
          file_browser_callback: myBrowser
      )};
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-11
        • 1970-01-01
        • 2014-07-01
        • 2013-07-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多