[jQuery]すべてのtarget = '_blank'を削除する

Last Updated:2023年07月17日| コメントを残す

ブログ記事を作成し、リンクは内部リンクも外部リンクもすべて新しいウィンドウで開くようにtarget = "_ blank"属性を追加した状態です。

しかし、外部リンクは新しいウィンドウで開くようにしながら、内部リンクの場合は、新しいウィンドウで開かれるよりも、同じウィンドウで開くようにするのがより良いような気がしました。 しかし、この時まで作成した文をすべて修正することはほとんど不可能に近いです。 文がいくつか存在しない場合、手動でいちいち変更するだろうが、現在の文が1600個以上が作成されていますね。

そのため、jQueryを使用してtarget = "_blank"を削除する方法をインターネットで検索してみました。

いくつかの記事が検索されますが、stackoverflowの「Remove all target = "_ blank" from links「という文章を参考に、現在 WordPress ブログ記事では、内部リンクはすべて同じウィンドウで開くように簡単なjQueryのスクリプトを組むことができました。

$('a[target="_blank"]').removeAttr('target');

参考までに、外部リンクを新しいウィンドウで開くようにする方法は、css-tricks.comの 「Open External Links In New Window」(外部リンクを新しいウィンドウで開く)に記載されているスクリプトを参考にすればなるようです。

$('a').each(function() {
var a = new RegExp('/' + window.location.host + '/');
if(!a.test(this.href)) {
$(this).click(function(event) {
event.preventDefault();
event.stopPropagation();
window.open(this.href, '_blank');
});
}
});
// Source

上記のスクリプトは、うまく機能するかどうかを確認していません。 適用して見てよくないと、教えてください。

メモ:


コメントを残す

コメント