首页 > 解决方案 > 两个javascript函数的冲突

问题描述

我正在使用烧瓶。应用程序模板需要 Jquery 的以下功能,用于主文件中的智能链接。

 <script type="text/javascript" src="{{ url_for('static', filename='/libs/jquery/jquery.js')}}"></script>

    <!-- SmartMenus jQuery plugin -->
    <script type="text/javascript" src="{{ url_for('static', filename='jquery.smartmenus.js')}}"></script>

    <!-- SmartMenus jQuery init -->
    <script type="text/javascript">
      $(function() {
        $('#main-menu').smartmenus({
          subMenusSubOffsetX: 1,
          subMenusSubOffsetY: -8
        });
      });
    </script>

然而,在扩展页面上需要遵循 javascript 代码。

<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
       <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

   <script src="https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>
   <script src="https://cdn.datatables.net/buttons/1.2.4/js/dataTables.buttons.min.js"></script>
   <script src="https://cdn.datatables.net/buttons/1.2.4/js/buttons.flash.min.js"></script>


   <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js"></script>
   <script src="https://cdn.rawgit.com/bpampuch/pdfmake/0.1.24/build/pdfmake.min.js"></script>
   <script src="https://cdn.rawgit.com/bpampuch/pdfmake/0.1.24/build/vfs_fonts.js"></script>
   <script src="https://cdn.datatables.net/buttons/1.2.4/js/buttons.html5.min.js"></script>
   <script src="https://cdn.datatables.net/buttons/1.2.4/js/buttons.print.min.js"></script>


   <script type="text/javascript">

$(document).ready(function() {
   $('#example').DataTable( {
       dom: 'Bfrtip',
       buttons: [
           'copy', 'csv', 'excel', 'pdf', 'print'
       ]
   } );
} );
   </script>

如果我在主文件上注释第一块代码,那么下面的代码对我的表有效,否则,第二块无效。:(

请帮助这两个功能应该如何集成?

标签: javascriptflask

解决方案


加载 jQuery 一次且仅一次。

加载 jQuery,添加插件,然后再次加载 jQuery 将删除插件。

不要使用具有已知安全漏洞的过时、不受支持的 jQuery 版本。


推荐阅读