クリックされたリンクの URL が別のホストを指しているかどうかを確認するための素敵で気の利いた方法はありますか?
$(document).ready(function() {
$('a[target="_blank"]').click(function() {
if (confirm('This link will open in an new window.')) {
return true;
} else {
return false;
}
});
});
別のホストを指し、属性を追加するすべてのリンクをフィルタリングするために、CMS に頼ることはできませんtarget="_blank"
。そこで、クリックされたリンクの URL をテストしたいと思います。これは、より堅牢なテストだと思います。
string starts with
さまざまなシナリオをテストするカスタム コードを記述できることはわかっています。しかし、これに適した jQuery (または他の何か) 関数は既にありますか?
解決:
ご協力いただきありがとうございます!このソリューションを適用しました:
$(document).ready(function() {
$('a').click(function() {
if (this.host != location.host) {
$(this).attr('target', '_blank'); // add or override the attribute (in case there isn't one already)
return confirm('This link will open in an new window.');
}
});
});
ところで: このコードは、サイトがモバイル モード (modernizr を使用) の場合にのみ使用します。したがって、アプリケーションをラップしPhoneGap
て、ユーザーがランダムなサイトでフルスクリーン モードのままになるのを防ぐことができます。