w3schools property img attribute javascript asp.net internet-explorer response.redirect

javascript - property - "SCRIPT28: sin espacio de pila" en el sitio web con IE9



title label html (4)

¿Puede publicar el código / un enlace al código, o cerrar este problema?

Problemas comunes: es posible que tenga un problema de cierre en el html, por lo tanto, diferentes navegadores interpretan la jerarquía html de manera diferente, o podría estar haciendo un bucle a través de un for (x in y) donde x contiene una referencia inversa a y.

Estoy teniendo un problema donde todos los controles de botones de enlace en mi página no funcionan una vez que implementamos nuestro sitio web en nuestro servidor de producción. Aquí hay algunos detalles:

  1. Tenemos 3 entornos en los que desarrollamos: nuestra máquina local, que utiliza IIS7 local para ejecutar el desarrollo; entorno de prueba que es un servidor web real detrás de nuestro firewall (IIS6); Producción que es nuestro servidor web en vivo (IIS6). El sitio web funciona bien en las máquinas locales y en el servidor de prueba, pero una vez que hacemos clic en un botón de enlace en el servidor de producción, se cuelga.

  2. El problema no existe en Chrome, o FireFox solo existe en IE9. No existe cuando pones IE9 en modo de compatibilidad.

  3. Si utilizo la barra de herramientas del desarrollador de IE9 y veo los scripts, tan pronto como haces clic en uno de los botones de enlace, la consola muestra este error:

SCRIPT28: Fuera de espacio de pila, línea 340 carácter 9

  1. Estoy usando un poco de JQuery y me pregunto si esto está causando un problema: Sin embargo, no veo errores de javascript.

¿Alguna idea? Gracias por cualquier sugerencia.


Como la gente dice en los comentarios: significa que tiene lugar una recursión infinita. Ya sea una simple recursión o algún camino tortuoso a través del código, como una serpiente que muerde su cola: se desconoce, parece que IE no emite rastro de pila, ¿o sí?


Echa un vistazo a la página msdn para obtener información sobre este error. En mi caso, el error fue causado por:

Su código desencadenó una cascada de eventos.
Una cascada de eventos se produce al desencadenar un evento que llama a un procedimiento de evento que ya está en la pila. ...

Básicamente, estaba tratando de activar un evento de clic (usando jQuery) en un control de carga de archivos usando el evento de clic del control . Parece que causaría una recursión infinita. Quizás esté teniendo problemas similares con sus botones.


He reproducido este problema cuando estoy haciendo el siguiente código:

HTML

<span class="search-icon"><input title="search" type="submit" value=""></span>

JS

(function($) { $(''.search-icon'').on(''click'', function(e) { // The click event will call $(''.search-icon'').on(''click'', function(e) { .. } for every time // which make an infinte loop in click event as long as there are no stop condition added here. $(this).find(''input'').click(); }); })(jQuery);

He resuelto este problema cambiando mi código JS para que sea:

(function($) { $(''.search-icon'').on(''click'', function(e) { $(this).closest(''form'').submit(); }); })(jQuery);

Espero que esta respuesta te sea de utilidad.