2009-11-23 15 views
7

これはTHIS ONEと同じ質問です。私はこれ以上返信できませんので、私は自分のアカウントで再度投稿しています。
ごめんなさい。JavaScriptからhrefを呼び出す

ページロード時に 'javascript:FUNCTION'のようなhrefリンクをアクティブにするGreasemonkeyスクリプトが必要です。 私はこのコードを見てきました:それはonloadイベントを用いた場合であっても、私は私のスクリプトで使用するとき、それは動作しませんローカルページ上で動作している間、

<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> 

をして。

おそらく、HTMLページの本体からGreasemonkeyスクリプトにコードを転送するときに、私は何かが足りないと思うかもしれません。

私は今回の質問がより明確になることを願っています。何か誤解がありましたが、私はまだJSの初心者です。

+1

greasemonkyスクリプトを投稿 – Yacoby

+1

スクリプトはまだWIPですが、必要な機能は最初に必要なものです。そうでなければ何もありません。 これをより明確にするために、スクリプトの残りの部分はこの機能と競合しません。 – Gurzo

+0

どうしたらいいですか? – Yacoby

答えて

17

はこのようにそれを解決するとき、これはのみ動作しますのでご注意ください。

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

回答ありがとうございます。

+0

素晴らしい!ありがとう。 –

0

これはあなたのシナリオでは機能しますか?

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

これはFirefoxでは動作しません。 – SLaks

+0

動作しません。 ウェブサイトでこのような行為を禁止することはできますか? – Gurzo

+0

ああ、うまくいっています...これはうまく動作するために使用されました(まだIEで行われています) – scunliffe

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

私は警告ボックスを見ることができます。..

href属性にそのjavascriptのコード...

+0

代わりにリンクをクリックして偽装したい場合は、ここに例があります。サードパーティのライブラリがないと多くの作業があるようです:http://groups.google.com/group/comp.lang.javascript/browse_thread/thread/27e7c70e51ff8a99/98cea9cdf065a524%2398cea9cdf065a524?pli = 1 –

関連する問題