2009-11-23 7 views
7

Questa è la stessa domanda di THIS ONE, non posso più rispondere, quindi la sto post-pubblicando con il mio account.
Scusate per il casino.Chiama href da JavaScript

Ho bisogno di uno script Greasemonkey che su un caricamento di pagina attiva un collegamento href come 'javascript: FUNCTION'. Ho visto questo codice:

<script language="Javascript" type="text/javascript"> 
    function somescript() { 
      window.location.href = document.getElementById('ololo').href; 
    } 
</script> 

<a href="javascript:alert('test');" id="ololo">test</a> 
<br /> 

<a href="javascript:somescript()">click me</a> 

e, mentre si lavora su una pagina locale anche quando si utilizza onload, non funziona quando lo uso nel mio script.

Probabilmente mi manca qualcosa durante il trasferimento del codice dal corpo di una pagina html a uno script Greasemonkey.

Spero che questa volta la domanda sia più chiara, mi scusi per qualsiasi malinteso, ma sono ancora alle prime armi con JS.

+1

Pubblica il tuo script greasemonky – Yacoby

+1

Lo script è ancora WIP, ma la funzione di cui ho bisogno è la prima che dovrebbe funzionare, altrimenti non lo farà altrimenti. Per renderlo più chiaro: il resto dello script non è in conflitto con questa funzione. – Gurzo

+0

Quindi hai qualche errore? – Yacoby

risposta

17

risolto in questo modo:

window.location=document.getElementById('foo').href; 

Grazie a tutti per la risposta in ogni caso.

+0

Grande !! Grazie. –

0

Funzionerà per il tuo scenario?

<script type="text/javascript"> 
    function somescript() { 
    document.getElementById('ololo').click();//fake a click on the link 
    } 
</script> 
+2

Questo non funzionerà in Firefox. – SLaks

+0

Non funziona. E 'possibile che un sito web proibisca questo tipo di azioni? – Gurzo

+0

Ah, ben noto ... questo funzionava (e lo fa ancora in IE) – scunliffe

4
<script type="text/javascript"> 
    function somescript() { 
     eval(document.getElementById('ololo').getAttribute('href').replace('javascript:', '')); 
    } 
</script> 

riesco a vedere la finestra di avviso ..

prega di notare che questo funziona solo quando il suo codice javascript nella attributo href ...

+0

Se invece si vuole simulare un clic sul link, qui c'è un esempio ... sembra un sacco di lavoro senza una libreria di terze parti: http://groups.google.com/group/comp.lang.javascript/browse_thread/thread/27e7c70e51ff8a99/98cea9cdf065a524% 2398cea9cdf065a524? pli = 1 –