2011-09-06 28 views
5

Por ejemplo si me quedo en alguna página en Chrome con el siguiente código:¿Cómo encontrar el archivo .js donde se declara cierta función js (desde Chrome)?

<div onclick="someFunction('test')"></div> 

Me gustaría saber qué archivo contiene js "algunaFuncion". ¿Es posible y cómo? (Supongo que podría hacerse con la depuración pero no sé cómo)

+1

Vaya a devtools y busque 'function someFunction' en la barra de búsqueda en la parte superior derecha. Luego solo haga clic a través de cada archivo js hasta que lo encuentre. No tome tanto tiempo –

+0

Eso hará el trabajo, pero podría ser lento si esa página tiene una gran cantidad de archivos js, por lo que tendría que examinar cada archivo y buscar en cada página. Estaba pensando más acerca de algún atajo si existe que lo encuentre más rápido (un clic por ejemplo o algo así)? – dede

+0

Bueno, no estoy seguro de si existe ese atajo, pero ¿cuántos archivos js realmente va a tener en una página? Puedo encontrar una función a partir de archivos de 10 js en 15 segundos. –

Respuesta

5

En Firefox con el complemento Web Developer, Información/Ver Javascript/Expandir todo, busque "alguna función".

Por supuesto, hay muchas otras maneras de hacerlo, pero este complemento coloca todos los JS de la página en un solo navegador, lo que hace que sea sencillo buscar cualquier cosa en toda la página.

+0

Entonces, básicamente, usa Firefox en lugar de Chrome? – Mihai

+0

@Mihai: ahora también puedes buscar todas las secuencias de comandos en Chrome. – jfriend00

+0

Tengo el mismo problema. No sé el nombre de la función pero quiero marcar un botón. ¿Como hacer eso? – Karen

1

lo que hago es: [Suponiendo que tienen acceso al código fuente]

grep -r "function someFunction" . 

donde . es el directorio dónde empezar la búsqueda recursiva para el patrón. Le mostrará todos los archivos que contengan el patrón "function someFunction".

Por cierto, si usted tiene una gran cantidad de golpes, pero que desea buscar en el directorio que les genera, se puede descartar resultados que contiene:

grep -r "function someFunction" | grep -v "withouth this text" 

espero que ayude! en Windows quizás puedas usar esto con cygwin?

Por supuesto, esto no funcionará si algunaFuncion está alojado en host externo ...

+0

No funciona si la función se declaró como "var someFunction = function". – jxmorris12

1

intenta guardar la página en el sistema de archivos (Menú -> guardar como -> Bage web completamente) y encontrar a funcionar en archivos por buscador de texto.

0

Escriba el nombre de la función en la consola de google sin paréntesis por ejemplo, para el envío de funciones (a, b) - quiero saber dónde está la función de envío.

solo escriba submit en la consola. La salida será la definición de la función. Haga clic en la salida, se le redirigirá a la función. Puede ver el nombre del archivo en la parte superior de las herramientas del desarrollador en la pestaña fuente.

Cuestiones relacionadas