編集:
以外の値を使用すると_blank
、モバイルブラウザーで新しいウィンドウ/タブを開くことができないことを学びました。
たとえば、新しいウィンドウ/タブを開く必要がある場合:
これは、モバイルブラウザーを含むすべてのブラウザーで機能します
target="_blank"
。これはモバイルブラウザーでは機能しませんが、デスクトップブラウザーでは機能します
target="new"
。
-
私はこれを機能させていますが、それを行うためのより良い方法があるかどうか、またはそれを取得する方法が正しい/唯一の方法であるかどうかはわかりません。
基本的に私がやっていることは、すべてのtarget="_new"
またはtarget="_blank"
属性値をtarget="nw"
に置き換えることです。この方法では、新しいウィンドウが1つだけ開かれ、複数のウィンドウでユーザーを圧倒しないように、他のすべての新しいウィンドウが開かれます。
「新しいウィンドウで開く」title=""
属性も追加します。
だから私が作成したソリューションはこれです:
$("a[target='_blank'], a[target='_new']").attr('target','nw').attr('title','Opens in a new window');
2つの.attr();
方法に注意してください。
これは要素に2つの属性を追加する正しい方法ですか?
試しました.attr('target','nw','title','Opens in a new window')
がうまくいきませんでした。
私が尋ねる理由は、DYR(Do n't Repeat Yourself)の原則によるものです。ですから、私が持っているコードを改善できれば、そうでなければ、それがそうです。
ありがとう。
.attr('a,b','value')
機能しません。私.attr('a',1).attr('b',1)
も同様に解決しました。新しいウィンドウへの依存度を下げることは別のアプローチかもしれませんが、あなたの場合、@ ricardozea:P