web-dev-qa-db-ja.com

JavaScriptからhrefを呼び出す

これは THIS ONE と同じ質問ですが、もう答えられないので、自分のアカウントで再投稿します。
ごちゃごちゃしてすみません。

ページの読み込み時に「javascript:FUNCTION」のようなhrefリンクをアクティブにするGreasemonkeyスクリプトが必要です。私はこのコードを見ました:

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

また、onloadを使用している場合でもローカルページでは機能しますが、スクリプトで使用している場合は機能しません。

おそらく、htmlページの本文からGreasemonkeyスクリプトにコードを転送するときに、何かが足りません。

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

8
Gurzo

このように解決しました:

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

とにかく答えてくれてありがとう。

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

警告ボックスが表示されます。

これは、JavaScriptコードがhref属性にある場合にのみ機能することに注意してください...

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

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