2010-07-02 3 views
7

Hé, je veux rediriger une page quand il fin du chargement ...Comment puis-je rediriger une page avec javascript dans Greasemonkey?

Par exemple, lorsque le chargement google.com d'arrivée, je veux envoyer un javascript pour rechercher quelque chose ...

Comment puis-je fais le ?

+0

Pouvez-vous poster du code? – streetparade

+0

javascript: var% 20values% 20 =% 20 ["mail",% 20 "pass"];% 20 $ ("entrée"). Each (fonction (i) {% 20 $ (this) .val (valeurs [ i]);% 20});% 20doLogin(); – Shady

Répondre

7

C'est tout simplement la façon dont je voudrais aller sur la redirection:

//==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" 

... de remplacement bien sûr Google et Yahoo! URL avec quelque chose d'autre. Vous n'avez besoin d'aucune bibliothèque externe (jQuery) ou quelque chose de compliqué comme ça.

Je voudrais pas recommander cela comme il est plus d'une nuisance qu'une aide à l'utilisateur final, mais cela dépend de ce que la fonction du script est.

+0

avec cette commande, vous pouvez modifier le "http://www.yahoo.com" avec "javascript: var% 20values% 20 =% 20 [" mail ",% 20" pass "];% 20 $ (" entrée ") .each (fonction (i) {% 20 $ (this) .val (valeurs [i]);% 20});% 20doLogin();"? – Shady

+0

Oui, ça devrait marcher, même si je ne l'ai pas testé. Pour autant que je sache, 'window.location' fonctionne exactement comme vous avez entré le texte cité dans la barre d'adresse. ;) – esqew

+0

n'a pas fonctionné avec la commande javascript =/ – Shady

4

Utilisez window.location.replace(url) si vous souhaitez rediriger l'utilisateur d'une manière que la page en cours est oublié par le bouton de retour, car sinon, si vous utilisez window.location = url puis lorsque l'utilisateur appuie sur le bouton de retour, le userscript donnera le coup à nouveau et repoussez la page sur laquelle ils étaient juste.

4

Cette méthode est la plus flexible que j'ai trouvée jusqu'ici. Il est facile de spécifier plusieurs redirections dans un seul 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

Très bien, merci! – Cerberus

Questions connexes