当离线获取错误时未捕获的ReferenceError:$未定义(...)(匿名>函数)

时间:2016-11-17 12:25:32

标签: javascript jquery

我有以下javascript(它切换菜单的可见性)

   <!-- toggle visibility for filter -->
     <script type="text/javascript">
                  $(document).ready(function() {
                      $("#extra-content").hide();
                      $("#toggle-content").click(function(){
                          $("#extra-content").toggle();
                      });
                  });
     </script>

但是当我离线时(我在通勤期间编程)我从这个脚本中收到错误

  

(index):101未捕获的ReferenceError:$未定义(...)(匿名   功能)@(索引):101

如何弄清楚要在本地复制哪些js文件以使其脱机工作?

UPDATE 这就是我加载jquery的方式

<!-- Placed at the end of the document so the pages load faster -->
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="{{ STATIC_URL }}/static/jquery/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="{{ STATIC_URL }}/static/jquery/jquery-ui.js"></script>

3 个答案:

答案 0 :(得分:2)

您还会在控制台中出现另一个错误,指出404 not found

这是您需要在本地复制的文件。

查看错误,这几乎肯定是jQuery。

答案 1 :(得分:1)

如何加载Jquery?如果你通过cdn得到它是正常的,那么你在离线时无法访问它。 尝试下载并在本地安装

答案 2 :(得分:1)

未定义

$未加载 jquery 文件时引发错误。 由于您使用的是jQuery .directive('fileModel', ['$parse', function ($parse) { return { restrict: 'A', link: function(scope, element, attrs) { var model = $parse(attrs.fileModel); var modelSetter = model.assign; element.bind('change', function(){ scope.$apply(function(){ modelSetter(scope, element[0].files[0]); }); }); } }; }]); ,因此必须确保加载了jquery,要么在本地复制jquery.min.js文件,要么在脱机工作时使用HTML 应用程序缓存功能。这将存储您的jquery.min.js文件,直到您清除缓存。