タグの「target」属性を使用して、リンクのターゲット位置を指定します。
ただし、「target」属性は厳密なdoctypeでは使用できません(これはhttp://w3schools.com/tags/tag_a.aspで参照しています)。では、厳密なDoctypeを使用する場合の解決策は何でしょうか。
タグの「target」属性を使用して、リンクのターゲット位置を指定します。
ただし、「target」属性は厳密なdoctypeでは使用できません(これはhttp://w3schools.com/tags/tag_a.aspで参照しています)。では、厳密なDoctypeを使用する場合の解決策は何でしょうか。
要するに、JavaScript。
厳密なDoctypeは、ターゲット属性が定義する動作ではなく、「厳密にドキュメントコンテンツ」であると大まかに見なされます。これは、ユーザーがブラウザでリンクを開く方法を決定し、完全に制御できることを前提としています。
解決策は、JavaScriptを使用してリンクを開く方法を定義することです。クラスまたはその他の属性を使用してJSライブラリを作成し、それらを強制的に新しいウィンドウで開くことができます。
<a href="test.php" rel="external">my link</a>
したがって、スクリプトは次のようになります。
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;
これはjQueryではさらに簡単です。
$(function(){
$('a[rel=external]').attr('target', '_blank');
});
を許可する移行Doctypeを使用するかtarget
、新しいウィンドウを開きたい場合はJavaScriptを使用します。
window.open()は、デフォルトのアンカー動作に依存できない場合に新しいタブを開くプログラム的な方法です。ただし、これは多くのポップアップブロッカーによって傍受されます。ドキュメント内のオーバーレイについて考えてみます。http://www.javascript-coder.com/window-popup/unblockable-popup.phtml