2010-07-02 16 views
7

Hey, quiero redireccionar una página cuando se termine de cargar ...¿Cómo puedo redireccionar una página con javascript en Greasemonkey?

Por ejemplo, cuando la carga google.com acabado, quiero enviar un javascript para buscar algo ...

¿Cómo puedo hazlo ?

+0

¿Podría usted publicar un código? – streetparade

+0

javascript: var% 20values% 20 =% 20 ["mail",% 20 "pass"];% 20 $ ("input"). Each (function (i) {% 20 $ (this) .val (values ​​[ i]);% 20});% 20doLogin(); – Shady

Respuesta

7

Esto es simplemente cómo iba a ir sobre la reorientación:

//==UserScript== 
// @name Redirect Google 
// @namespace whatever.whatever... 
// @description Redirect Google to Yahoo! 
// @include http://www.google.com 
// @include http://www.google.com/* 
// @include http://*.google.com/* 
//==/UserScript== 
window.location = "http://www.yahoo.com" 

... por supuesto la sustitución de Google y Yahoo! URLs con algo más No necesita ninguna biblioteca externa (jQuery) o algo complicado como eso.

Lo haría no Lo recomiendo porque es más una molestia que una ayuda para el usuario final, sin embargo eso depende de la función del script.

+0

con este comando, puede cambiar el "http://www.yahoo.com" con "javascript: var% 20values% 20 =% 20 [" mail ",% 20" pass "];% 20 $ (" input ") .each (función (i) {% 20 $ (this) .val (valores [i]);% 20});% 20doLogin();"? – Shady

+0

Sí, debería funcionar, aunque no lo he probado. Por lo que sé, 'window.location' funciona igual que usted ingresó el texto entre comillas en la barra de direcciones. ;) – esqew

+0

no funcionó con el comando javascript =/ – Shady

4

Uso window.location.replace(url) si desea redirigir al usuario de una manera que la página actual se ha olvidado por el botón de retroceso, porque de lo contrario si se utiliza window.location = url a continuación, cuando el usuario presiona el botón de retroceso, entonces el userscript entrará en funcionamiento de nuevo y empujarlos hacia atrás la página en la que acababan de entrar.

4

Este método es el más flexible que he encontrado hasta ahora. Es fácil especificar múltiples redireccionamientos en un único script:

// ==UserScript== 
// @name  Redirector 
// @namespace http://use.i.E.your.homepage/ 
// @version 0.1 
// @description enter something useful 
// @match  http://*/* 
// @copyright 2012+, You 
// @run-at document-start 
// ==/UserScript== 

//Any page on youtube.com is automatically redirected to google.com - you can use this 
//function to redirect from any page to any other page. 
redirectToPage("http://www.youtube.com/", "http://www.google.com"); 
//You can put several of these redirects in a single script! 
redirectToPage("en.wikipedia.org", "http://www.stackoverflow.com"); 


function redirectToPage(page1, page2){ 
if(window.location.href.indexOf(page1) != -1){ 
    window.location.href = page2; 
} 
} 
+0

Muy bien, ¡gracias! – Cerberus

Cuestiones relacionadas