为什么存在错误 Uncaught ReferenceError: $ is not defined if add async? [英] Why there exist error Uncaught ReferenceError: $ is not defined if add async?

查看:84
本文介绍了为什么存在错误 Uncaught ReferenceError: $ is not defined if add async?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的索引是这样的:

<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script><script type="text/javascript" src="/Content/assets/script/jquery-ui.min.js"></script>...<script type="text/javascript">...<脚本>$(document).ready(function () {...});</html>

... <html > <head> ... <script src="/scripts/myapp.min.js"></script> <script src="/scripts/myapp-themming.min.js"></script> </head> <body class="header-static"> <div class="page-container"> <!-- this is call header, navigaton, content, footer --> </div> <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script type="text/javascript" src="/Content/assets/script/jquery-ui.min.js"></script> ... <script type="text/javascript"> ... </script> <script> $(document).ready(function () { ... }); </script> </body> </html>

如果我使用 gtmetrix 测试页面速度.以及 gtmetrix 对 JavaScript 的延迟解析的建议.所以我尝试像这样添加 async :

If I test pages speed using gtmetrix. And gtmetrix recommendation for Defer parsing of JavaScript. So I try to add async like this :

<script src="/scripts/myapp.min.js" async></script>
<script src="/scripts/myapp-themming.min.js" async></script>

显示以下错误,

未捕获的引用错误:$ 未定义

Uncaught ReferenceError: $ is not defined

如果我使用 defer,它会产生 3 个这样的错误:Uncaught ReferenceError: $ is not defined, Uncaught TypeError: $(...).material_select 不是函数,并且 Uncaught TypeError: $(...).select2 is not a function

If I using defer, it make 3 error like this : Uncaught ReferenceError: $ is not defined, Uncaught TypeError: $(...).material_select is not a function, and Uncaught TypeError: $(...).select2 is not a function

我该如何解决这个错误?

How can I solve this error?

推荐答案

你有上面提到的两个错误,Uncaught ReferenceError: $ is not defined, Uncaught TypeError: $(...).material_select is not a函数和未捕获的类型错误:$(...).select2 不是函数

You have two errors as mentioned above, Uncaught ReferenceError: $ is not defined, Uncaught TypeError: $(...).material_select is not a function, and Uncaught TypeError: $(...).select2 is not a function

第一个问题可以通过在任何其他js之前添加以下js文件来解决,如下所示

the first problem can be resolved by adding the following js file on the top before any other js as shown below

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">
...
<script src="/scripts/myapp.min.js"></script>
<script src="/scripts/myapp-themming.min.js"></script>

下一个错误是 select2.为了解决这个问题,在jquery.min.js

Next Error is for select2. For resolving this issue,add the following stylesheet and js file after jquery.min.js

<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.10/css/select2.min.css" rel="stylesheet" />

<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.10/js/select2.min.js">

这篇关于为什么存在错误 Uncaught ReferenceError: $ is not defined if add async?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆