En mi página web, recibo una "alerta" de que quiero saber qué hace que se active y aparezca en la página. ¿Es posible usar herramientas de desarrollador de Chrome para encontrarlo?

0
Babak Fakhriloo 10 ene. 2017 a las 11:15

3 respuestas

La mejor respuesta

Intente asignar una nueva función a una propiedad window.alert e imprima el seguimiento de la pila utilizando console.trace():

window.alert = (function( window ) {
  var oldAlert = window.alert;
  return function alert( message ) {
    console.trace();
    oldAlert( message );
  };
})( window );

El seguimiento de la pila es mejor que el nombre de la persona que llama porque funciona en modo estricto y proporciona más información. Pero este fragmento de código no funcionará si alert es llamado por setTimeout, setInterval o como un controlador de eventos:

// In this case stack trace consists of single alert call.
setTimeout(alert, 0, "foo");

Por lo tanto, si esta solución no lo ayuda, probablemente deba reemplazar otras funciones (setTimeout, setInterval, addEventListener) de manera similar también. Para obtener más información, puede consultar Proyecto de stacktraces largos.

0
Leonid Vasilev 10 ene. 2017 a las 11:23

Puede vincular alguna función suya a window.alert;

alert = function myCustomAlert(){ console.log("caller", myCustomAlert.caller); }

Puede colocar esto en la consola de herramientas del desarrollador e inspeccionar a la persona que llama.

Puedes hacer esto con otras técnicas como:

alert = function myCustomAlert(){ console.log("caller", arguments.callee.caller.name); }

El único problema con esto es que tiene que ejecutarse en un ámbito no estricto.

2
Burimi 10 ene. 2017 a las 08:25

Sí, vaya a la página donde recibe esta alerta y abra la herramienta de desarrollador, vaya a la pestaña "Elementos" y realice una búsqueda de texto "alerta"

(CTRL + F en Windows o CMD + F en Mac)

. debe encontrar la línea de código que activa el código real de la alerta, debería ser algo así como window.alert("message which you are seeing on screen");

O forma alternativa es hacer clic derecho en la página y hacer

"Ver código fuente"

Y la búsqueda del mismo texto "alerta" debe obtener la línea de código.

1
MGA 10 ene. 2017 a las 08:30