web-dev-qa-db-ja.com

onclick = "location.href = 'link.html'"はSafariでページをロードしません

Safari(5.0.4)で新しいページを読み込むためにonclick="location.href='link.html'"を取得できません。

<select>および<option> HTMLタグを使用して、ドロップダウンナビゲーションメニューを作成しています。メニュー項目をクリックした後、onclickハンドラーを使用して新しいページをロードしていますが、Safariでは何も起こりません。 (FFとOperaでテストに成功しました。)Safariには多くのonclickバグがあることは知っていますが、この特定の問題に対処する解決策は見つかりませんでした。

以下に私のコードのサンプルを見ることができます:

<select>
    <option onclick="location.href='unit_01.htm'">Unit 1</option>
</select>

そして

<select>
    <option onclick="location.href='#5.2'">Bookmark 2</option>
</select>

HTMLのheadセクションにjavascriptを埋め込むことはしません(また、好みません)。javascriptの使用方法がわからない人のためにページを開発しています。したがって、コードは単純であるほど良いです。 。)


すべてのブラウザでメニュー項目をクリック可能にするJavaScriptコードは何ですか? (IEとの互換性を確認してください。)

38
Brandon Lebedev

JQueryを使用します...誰かにjavascriptを教えようとしていると言いますが、彼にもっときれいなテクニックを教えます...

<select id="navigation">
    <option value="unit_01.htm">Unit 1</option>
    <option value="#5.2">Bookmark 2</option>
</select>

そして、小さなjQueryを使用すると、次のことができます。

$("#navigation").change(function()
{
    document.location.href = $(this).val();
});

控えめで、ロジックとUIを明確に分離します。

34
Matthew Abbott

これを試して:

onclick="javascript:location.href='http://www.uol.com.br/'"

FirefoxでChromeおよびIE(すごい!!)

113
Rafael Zottesso

これを試してください:

<option onclick="parent.location='#5.2'">Bookmark 2</option>
5
Richard Hedges

これを試すことができます:

 <a href="link.html">
       <input type="button" value="Visit Page" />
    </a>

これにより、リンク内にボタンが作成され、どのブラウザーでも機能します

3
garatu

同じエラーが発生しました。 <input><select>などname="location"がないことを確認してください。

2
Jacob NP

試してみる

<select onchange="location=this.value">
    <option value="unit_01.htm">Unit 1</option>
    <option value="#5.2" selected >Bookmark 2</option>
</select>
0