打开新的基础项目时出现“ Uncaught TypeError:a.indexOf不是函数”错误

2020/10/08 21:20 · javascript ·  · 0评论

我使用bash通过bash创建了一个新的Foundation 5项目foundation new my-project当我在Chrome中打开index.html文件时,Uncaught TypeError: a.indexOf is not a function控制台中会显示错误,起源于jquery.min.js:4

我按照基础站点上的步骤创建了项目,但是似乎无法摆脱此错误。Foundation和jQuery看起来像它们被包含并正确连接在index.html文件中,而链接的app.js文件包括$(document).foundation();

有谁知道是什么原因导致此错误?有什么解决方案?

控制台错误消息截图

此错误可能是由于jQuery事件别名(例如)引起的.load().unload()或者.error()可能是从jQuery 1.8开始不推荐使用的 在代码中查找这些别名,然后将其替换为方法。例如,替换以下不推荐使用的摘录:.on()

$(window).load(function(){...});

具有以下内容:

$(window).on('load', function(){ ...});

请在下面添加jQuery Migrate插件

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://code.jquery.com/jquery-migrate-1.4.1.min.js"></script>

此错误通常是由不兼容的jQuery版本引起的我在foundation 6存储库中遇到了相同的错误我的存储库正在使用jQuery 3,但是Foundation需要较早的版本。然后,我对其进行了更改,并且它起作用了。

如果您查看基础5依赖项所需的jQuery版本,它将指出"jquery": "~2.1.0"

您可以确认您正在加载正确版本的jQuery吗?

我希望这有帮助。

我也面临这个问题。我当时jquery.poptrox.min.js用于图像弹出和缩放,但收到一个错误消息:

“未捕获的TypeError:a.indexOf不是函数”错误。

这是因为indexOf不支持,3.3.1/jquery.min.js因此将其更改为旧版本的简单解决方案2.1.0/jquery.min.js

这为我解决了。

可能的原因之一是当您加载jQuery TWICE时,例如:

<script src='..../jquery.js'></script>
....
....
....
....
....
<script src='......./jquery.js'></script>

因此,请检查您的源代码并删除重复的jQuery负载。

我正在使用jQuery 3.3.1,但收到相同的错误,在我的情况下,URL是一个Objectvs字符串。

发生了什么,我接过URL = window.location-返回了一个对象。一旦将其更改为window.location.href-它就不会e.indexOf出现错误。

我通过使用安装Jquery所需项目的正确版本来解决此问题npm

本文地址:http://javascript.askforanswer.com/dakaixindejichuxiangmushichuxian-uncaught-typeerrora-indexofbushihanshucuowu.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!