2010-02-15 23 views

Respuesta

3

Desea instalar la extensión Greasemonkey para Firefox. (O gm4ie para IE, o greasemetal para Chrome (PersonalizedWeb también funciona de una manera mucho más simple para Chrome), greasekit para Safari, o user.js para Opera)

Greasemonkey le permite hacer exactamente esto ... ejecuta un script automáticamente cada carga de página (puede elegir en qué páginas/sitios se carga)

De lo contrario, deberá hacer clic en su bookmarklet en cada carga de página para ejecutar su secuencia de comandos.

+2

¿Entonces Greasemonkey (o su equivalente en $ navegador) es la única solución para esto? Mi objetivo era simplemente hacer un bookmarklet que pudiera compartir con otras personas, en lugar de requerir un complemento en cada caso. Por algún contexto, el problema que intento solucionar es el sitio web de mi escuela. Los diseñadores web pensaron que sería una idea brillante hacer todos los enlaces en el sitio simplemente enlaces JS que a través de una combinación críptica de PHP y AJAX actualicen la página web. Desafortunadamente, debido a la forma en que lo hicieron, actualmente es imposible vincularlo a, por ejemplo, la página de tareas de sus clases. – scikidus

+2

En su lugar, debe decir "Vaya a la página web, luego haga clic aquí, luego haga clic aquí, luego haga clic aquí". Mi esperanza era hacer un bookmarklet que cargue el sitio web y una vez cargada la página ejecuta los enlaces JS necesarios para recuperar la página deseada. – scikidus

+0

Ah, @ scikidus Veo ... bueno, por desgracia, parece que el sitio está fuera de tu control. Puede crear/usar un bookmarklet, pero no hay forma de que se ejecute automáticamente (sin) recurrir a una solución de tipo Greasemonkey. ¿Existe la posibilidad de que pueda hablar con el personal de su escuela para ofrecer una solución para el sitio? En cuanto a los desarrolladores originales (-1 para enlaces solo de JS) – scunliffe

1

Dado que no hay una solución mejor, pensé que descartaría que Opera soporte nativamente las secuencias de comandos del usuario para ejecutarse en cada carga de página. Desde allí, puede hacer que el script verifique la URL actual y ejecute si está en la página correspondiente.

See here for documentation

6

La forma más sencilla que encontré para hacer esto sin necesidad de Greasemonkey o algo similar es escribir sus JS para que compruebe para ver si está en la página correspondiente, y va allí si no es . Si está en la página, entonces ejecuta el JS/alerta/lo que sea. Tienes que usar el bookmarklet dos veces, pero solo necesitas un bookmarklet, y aún puede ser más rápido/más fácil que el usuario haga clic/whatevering él o ella misma. Entonces el código sería así:

if(this.document.location.href != "[url]") { //Are we on the page yet? 
    this.document.location.href = "[url]"; // If not, go there 
} 
else { 
    if (document.readyState === "complete") { //Wait for the page to finish loading 
    // DO STUFF 
    } 
} 
Cuestiones relacionadas