jquery - not - Error "Error de tipo no detectado: a.indexOf no es una función" al abrir un nuevo proyecto de base
uncaught typeerror e indexof is not a function jquery (7)
Agregue a continuación el complemento 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>
He creado un nuevo proyecto de Foundation 5 a través de bash, con Foundation
foundation new my-project
.
Cuando abro el archivo index.html en Chrome, se muestra
Uncaught TypeError: a.indexOf is not a function
Error de tipo
Uncaught TypeError: a.indexOf is not a function
error de
Uncaught TypeError: a.indexOf is not a function
en la consola, que se origina en
jquery.min.js:4
.
Creé el proyecto siguiendo los pasos en el sitio de la fundación, pero parece que no puedo deshacerme de este error.
Foundation y jQuery parecen estar incluidos y vinculados correctamente en el archivo index.html, y el archivo app.js vinculado incluye
$(document).foundation();
¿Alguien sabe qué está causando este error? ¿Y qué solución podría ser?
Este error a menudo es causado por versiones
incompatibles de
jQuery.
Encontré el mismo error con un repositorio
foundation 6
Foundation
foundation 6
.
Mi repositorio estaba usando
jQuery 3
, pero la base requiere una versión anterior.
Luego lo cambié y funcionó.
Si observa la versión de jQuery requerida por las
dependencias de
la
fundación 5
, indica
"jquery": "~2.1.0"
.
¿Puede confirmar que está cargando la versión correcta de jQuery?
Espero que esto ayude.
Este error puede ser causado por los alias de eventos jQuery como
.load()
,
.unload()
o
.error()
que todos están en
desuso
desde jQuery 1.8
.
Busque estos alias en su código y reemplácelos con el método
.on()
lugar.
Por ejemplo, reemplace el siguiente extracto en desuso:
<script src=''..../jquery.js''></script>
....
....
....
....
....
<script src=''......./jquery.js''></script>
con lo siguiente:
<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>
Estoy usando
jQuery 3.3.1
y recibí el mismo error, en mi caso, la URL era un
Object
frente a una cadena.
Lo que sucedió fue que tomé
URL = window.location
, que devolvió un objeto.
Una vez que lo cambié a
window.location.href
, funcionó sin el error
e.indexOf
.
Resolví esto instalando la versión correcta de
Jquery
que mi proyecto requería usando
npm
También me enfrenté a este problema.
Estaba usando
jquery.poptrox.min.js
para hacer estallar y hacer zoom en la imagen y recibí un error que dice:
Error " Error de tipo no detectado: a.indexOf no es una función" .
Esto se debe a que esto no se admitía en 3.3.1 / jquery.min.js, por lo que una solución simple para esto es cambiarlo a una versión anterior 2.1.0 / jquery.min.js.
De esta manera pude arreglarlo por mí.
Una de las posibles razones es cuando carga jQuery TWICE , como:
<script src=''..../jquery.js''></script> .... .... .... .... .... <script src=''......./jquery.js''></script>
Por lo tanto, verifique su código fuente y elimine la carga duplicada de jQuery.