Uncaught ReferenceError: tinymce не определено в laravel - PullRequest
0 голосов
/ 04 октября 2019

В моем приложении laravel есть следующий код, и tinymce не будет загружаться, вместо этого я получаю эту ошибку:

Uncaught ReferenceError: tinymce не определено

Code

<textarea class="form-control editor" name="description" id="description" cols="30" rows="10">

</textarea>

////

<script src="{{asset('js/tinymce/jquery.tinymce.min.js')}}"></script>
<script src="{{asset('js/tinymce/tinymce.min.js')}}"></script>


<script>
$(function(){
  var editor_config = {
    path_absolute : "/",
    selector: "textarea.editor",
    plugins: [
      "advlist autolink lists link image charmap print preview hr anchor pagebreak",
      "searchreplace wordcount visualblocks visualchars code fullscreen",
      "insertdatetime media nonbreaking save table contextmenu directionality",
      "emoticons template paste textcolor colorpicker textpattern codesample",
      "toc tinymcespellchecker imagetools help"
    ],
    toolbar: "insertfile undo redo | styleselect | fontselect |  fontsizeselect | bold italic strikethrough | alignleft aligncenter alignright alignjustify | ltr rtl | bullist numlist outdent indent removeformat formatselect| link image media | emoticons charmap | code codesample | forecolor backcolor",
    external_plugins: { "nanospell": "https://www.xxxxx.com/js/tinymce/plugins/nanospell/plugin.js" },
    nanospell_server:"php",
    browser_spellcheck: true,
    relative_urls: true,
    remove_script_host: false,
    branding: false,
    file_browser_callback : function(field_name, url, type, win) {
      var x = window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth;
      var y = window.innerHeight|| document.documentElement.clientHeight|| document.getElementsByTagName('body')[0].clientHeight;

      var cmsURL = editor_config.path_absolute + 'laravel-filemanager?field_name=' + field_name;
      if (type == 'image') {
        cmsURL = cmsURL + "&type=Images";
      } else {
        cmsURL = cmsURL + "&type=Files";
      }

      tinymce.activeEditor.windowManager.open({
        file: '<?= route('elfinder.tinymce4') ?>',// use an absolute path!
        title: 'XYZfile manager',
        width: 900,
        height: 450,
        resizable: 'yes'
      }, {
        setUrl: function (url) {
          win.document.getElementById(field_name).value = url;
        }
      });
    }
  };

  tinymce.init(editor_config);
 });
</script>

<script>
  {!! \File::get(base_path('vendor/barryvdh/laravel-elfinder/resources/assets/js/standalonepopup.js')) !!}
</script>

Ошибка относится к этой строке в HTMLDocument. (создать: 1613) -> tinymce.init(editor_config);

Есть идеи?

1 Ответ

0 голосов
/ 12 октября 2019

TinyMCE не требует запуска jQuery. Эта конкретная ошибка подразумевает, что основной файл JavaScript TinyMCE не был загружен, поскольку именно этот файл создает глобальный объект tinymce.

Если глобального объекта tinymce нет, вы не можете вызвать init()на несуществующий объект, следовательно, конкретная ошибка.

Посмотрите на вкладке Сеть ваших инструментов разработчика, чтобы увидеть, что происходит, когда вы пытаетесь загрузить файл tinymce.min.js. Я подозреваю, что вы обнаружите, что он не загружается, и если вы исправите это, эта ошибка прекратится.

...