繁体   English   中英

Laravel 8 Summernote Jquery 错误

[英]Laravel 8 Summernote Jquery Errors

我正在尝试将 Summernote 所见即所得与 Laravel 8 连接起来,无论我做什么,我都会收到一个恒定的 jquery 错误。 我尝试将 webpack 用于脚本并将脚本直接添加到页面。 我的脚本的顺序应该是正确的,并且我在脚本之后执行代码但是,该错误是一个基本错误,我无法确定问题。

webpack 文件是默认文件,我已经运行 npm 运行开发和生产。

列出的放入基本 HTML 文件中的代码运行没有错误,我必须对 Laravel 做一些事情。

jquery.js:4055 Uncaught TypeError: "#summernote".summernote is not a function

App.blade.php

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- CSRF Token -->
    <meta name="csrf-token" content="{{ csrf_token() }}">

    <title>{{ config('app.name', 'Laravel') }}</title>

    <!-- Scripts -->
    <script src="https://code.jquery.com/jquery-3.5.1.min.js" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <script type="text/javascript" rel="script" src="{{asset('js/app.js')}}" ></script>
 


    <!-- Fonts -->
    <link rel="dns-prefetch" href="//fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">

    <!-- Styles -->
    <link href="{{ asset('css/app.css') }}" rel="stylesheet">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

</head>

//rest of the template is out of the box Laravel base install with auth installed

   <form method="post">
            <textarea id="summernote" name="editordata"></textarea>
          </form>

    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
    <link href="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote-bs4.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote-bs4.min.js"></script>
 <script type="text/javascript" rel="script" src="{{asset('js/main.js')}}" ></script>

</body>
</html>

主.js

jQuery(document).ready(function() {
/* $('#summernote').summernote({
    placeholder: 'Hello Bootstrap 4',
    tabsize: 2,
    height: 100 */
// Code still produces the error here 
});

});
$('#summernote').summernote({
    placeholder: 'Hello Bootstrap 4',
    tabsize: 2,
    height: 100
});
// Code still produces the error here 

很高兴提供更多信息,我们将不胜感激。

这对我有用

</thead>结束前

<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote.min.js"></script>

<form>内部

<div id="summernote"></div>

</body>结束前

<script>
  $(document).ready(function() {
    $('#summernote').summernote();
  });
</script>

Jsfiddle 预览图

预习


有用的链接

  1. Summernote 入门
  2. Summernote 示例

问题可能是在 JQuery 库之前加载 Summernote

我找到了解决方案,我不能相信。 一个较旧的稍微相关的 Laravel 问题有一个解决方案:

Laravel 5.4 脚本加载问题

贡献者是@jordan

通过将脚本隔离到 @section 并在 js 文件下方添加 $yield('scripts') 解决了问题。 仍然不确定 Laravel 在页面加载时对脚本做了什么,但我有一个解决方案。 感谢所有贡献者的帮助,我始终重视输入和建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM