4

間の最適化に関する質問:

<a href="#" onClick="javascript:window.open('myUrl.com');">link-1</a>

と :

<a href="javascript:window.open('myUrlBis.com');">link-2</a>

どちらが優れていますか?またはより互換性がありますか?ありがとう。

4

4 に答える 4

17

ベスト プラクティスは、属性を使用することtargetです

<a href="http://myUrl.com" target="_blank">link-1</a>

それが合わない場合は、clickハンドラー (理想的には属性を介して割り当てられない) が私のテイクになります。

于 2012-06-12T16:40:25.280 に答える
3

どちらでもない

hrefとを使用して通常のリンク にしますtarget

<a id='my-link' target="_blank" href="http://myUrlBis.com">link-2</a>

JavaScript でクリックの処理を行う必要がある場合は、次を使用できます。

document.getElementById("my-link").onclick = function(e) {
  // Do some processing here, maybe 
  window.location = this.href
  // Return false to prevent the default action if you did redirect with script
  return false;
}
于 2012-06-12T16:42:45.987 に答える
0

JavaScript なし

<a target="_blank" href="myUrlBis.com">link</a>

JavaScript を使用

<a target="_blank" href="http://www.example.com" id="myLink">link</a>
<script>
    document.getElementById("myLink").onclick = function(){ //attach click event to link
        var winPop = window.open(this.href);  //`this` is reference to link, get href
        return false;  //prevent click event from clicking the link
    }
</script>

JSFiddle の例

于 2012-06-12T16:47:20.973 に答える
-1

以下のコードは問題ないはずです。

<a href="javascript:void(0);"  onclick="window.open(url)">

以下のコードで IE (バージョン:11) に問題が見つかりました

<a onclick="javascript:window.open(url)">

問題: href 属性に javascript window.open コードがあると、親ウィンドウが IE で更新されます。

于 2015-12-08T11:05:45.543 に答える