打开新的基础项目时出现“Uncaught TypeError:a.indexOf不是函数”错误
我已经创build了一个新的基金会5项目通过bash,与foundation new my-project
。 当我在Chrome中打开index.html文件时, Uncaught TypeError: a.indexOf is not a function
控制台中显示Uncaught TypeError: a.indexOf is not a function
错误,源自jquery.min.js:4
。
我在基金会网站上的步骤之后创build了这个项目,但我似乎无法摆脱这个错误。 Foundation和jQuery看起来像是包含在index.html文件中的,并且链接的app.js文件包含$(document).foundation();
有谁知道是什么原因造成这个错误? 以及可能的解决scheme是什么?
这个错误可能是由于自jQuery 1.8以来不推荐的.unload
, .unload
或.error
等jquery事件别名造成的。 在代码中查找这些别名,并用.on()
replace它们来注册监听器。 例:
$(window).load(function(){...});
变为:
$(window).on('load', function(){ ...});
这个错误通常是由不兼容的 jQuery版本引起的。 我遇到了与foundation 6
储存库相同的错误。 我的存储库使用jQuery 3
,但基础需要一个较早的版本。 我然后改变它,它的工作。
如果您查看基础版5依赖关系所需的jQuery版本,则会显示"jquery": "~2.1.0"
。
你能确认你正在加载正确版本的jQuery吗?
我希望这有帮助。
其中一个可能的原因是当你加载jQuery TWICE ,如:
<script src='...../jquery.js'></script> .... <script src='...../jquery.js'></script>
所以,检查你的源代码并删除重复的jQuery负载。