打开新的基础项目时出现“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负载。