サイトのすべての外部リンクに target="_blank" を追加する必要があり、通常は次のように使用します。
$("a[href^=http]").each(function(){
if(this.href.indexOf(location.hostname) == -1) {
$(this).attr({
target: "_blank",
title: "Opens in a new window"
});
}
});
残念ながら、確認する必要があるリンクは、id が messageArea の div 内にあり、これらは ajax 呼び出しによって生成されるため、取得されません。
C# 正規表現関数を使用してコンテンツを書き直すか、target="_blank" を追加することもできますが、コンテンツを元の状態のままにしておくことをお勧めします。
助言がありますか?
ルクマの提案を使用すると、解決策は次のとおりです。
$.getJSON(
"ajax/GetMessage.aspx?message=" + msgID,
function (msgs) {
$("div#messageArea").html(msgs.responseText);
$("div#messageArea a[href^=http]").each(function(){
if(this.href.indexOf(location.hostname) == -1) {
$(this).attr({
target: "_blank",
title: "Opens in a new window"
});
}
});
}
);