2011-05-05 15 views
17

Estoy haciendo muchas cosas ajax últimamente. Escenario que repito una y otra vez es:cómo volver a cargar solo scripts a través de firebug

  1. carga de la página
  2. cambio algunos scripts para esa página
  3. recarga de la página con + F5 Ctrl y ver si funciona

Lo que quiero do, is tell firebug para volver a cargar solo los scripts, no toda la página porque el marcado es el mismo. ¿Alguna forma de hacer esto?

+0

No directamente, no. –

+0

Pregunta excelente. Ahorro de tiempo real. – kta

Respuesta

7

Primero, intente y minimice este tipo de pruebas. Escriba atomic, DRY code, y pruebe la unidad antes de doblarla en el sitio/página. Puedes hacer algo de esto rápidamente en la consola de Firebug.

A continuación, si el JS que está recargando establece intervalos o detectores de eventos, querrá borrar esos intervalos y desvincular esos oyentes antes de volver a cargar el JS bajo prueba. Eso significa que los intervalos anónimos y los controladores de eventos están prohibidos.

Cree un archivo JS que llame a clearInterval(), removeEventListener() y .unbind() según sea necesario.

continuación, puede ejecutar código como el siguiente en la consola de Firebug:

function addJS_Node (text, s_URL) 
{ 
    var scriptNode      = document.createElement ('script'); 
    scriptNode.type      = "text/javascript"; 

    if (text) scriptNode.textContent = text; 
    if (s_URL) scriptNode.src   = s_URL; 

    document.head.appendChild (scriptNode); 
} 

addJS_Node (null, 'Path_to_JS/ResetTimersAndEvents.js'); 

addJS_Node (null, 'Path_to_JS/JS_Under_Test.js'); 
// etc. 
0

Firefox no tiene forma de hacerlo.

Si el marcado es el mismo, entonces, ¿qué ocurre con ctrl + f5? Supongo que no quiere perder los datos en los campos de formulario. Esto nuevamente causa problemas, ya que lo que sucede si solo recarga los scripts y esos scripts tienen eventos que se disparan cuando se cambian los campos del formulario, estos eventos nunca se dispararán y podrían terminar en un estado en el que no debería estar.

Existen algunos complementos para navegadores que le permiten completar automáticamente los campos de formulario con solo hacer clic en un botón con valores predefinidos, esta puede ser una buena alternativa para volver a cargar solo los scripts. Parece que este complemento de Firefox hará exactamente eso https://addons.mozilla.org/en-US/firefox/addon/autofill-forms/

+0

no, no tengo problema con campos de formulario ... sólo que es demasiado lento para mi gusto de golpear F5 cada vez que quiero ver resultado de la codificación ... – Marko

+0

cuánto tiempo es un ctrl + f5 tomando? – Gavin

+0

Entiendo su punto ... pero imagínese una situación en la que tenga algún tipo de flujo de trabajo y pruebe el paso 5. Cambié algo en el script y deseo ver el resultado en el paso 5 ... entonces, lo que quiero hacer es solo vuelva a cargar al script y haga el paso 5 para ver si está funcionando ahora, no quiere volver a cargar toda la página y luego siga los pasos hasta que toque el paso 5 ... ¿está bien? ;) – Marko

4

creo XRefresh puede ayudar. Supervisa las carpetas locales en busca de cambios y las vuelve a cargar cuando cambian (después de guardar) sin volver a cargar toda la página.

por su site faq:

XRefresh también es capaz de reemplazar el archivo JS vinculado de forma externa con versión actualizada sin necesidad de recargar la página entera.

hay limitaciones con esto, sin embargo (y no veo ninguna manera de conseguir alrededor de ellos) que se puede leer más acerca de su página de preguntas frecuentes.

Sigo pensando que es mejor que no tener ninguna opción.

Espero que esto ayude.

3

Creo que lo que realmente necesita es una prueba automatizada. Escriba sus pruebas y luego vuelva a ejecutarlas después de hacer un cambio de código.

El mejor método para hacer esto en Firefox es webdriver.

Cuestiones relacionadas