ターゲット_self
を使用してhtmlページを作成しました
しかし、リンクが多すぎて、すべてのリンクターゲットを_blank
に変更したいので、それを行うのは困難です。 1回書くだけですべてに当てはまるJavaScriptはありますか?
私のコードは長すぎて、すべてのリンクを変更するのに何度もかかるからです。何かトリックはありますか?
このような
<a href="http://www.google.com"></a>
<a href="http://www.facebook.com"></a>
<a href="http://www.gmail.com"></a>
<a href="http://www.Twitter.com"></a>
<a href="http://www.stackoverflow.com"></a>
<a href="http://plus.google.com"></a>
これをあなたの<head>
に入れてください
<base target="_blank">
これにより、ページ上のすべてのURLが新しいページで開かれます。ただしtarget
が指定されている場合を除きます。
これはHTML5のみの機能であり、 Googleのio-2012-スライドスライドパッケージ から学びました。
あなたの質問に答えるために、jQueryはこれを簡単にします:
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(function() {
$('a[href]').attr('target', '_blank');
});
</script>
これにより、href
属性のない<a>
タグは変更されません。
プレーンJSでも非常に簡単です。
var links = document.getElementsByTagName('a');
for (var i=0, len=links.length; i < len; i++) {
links[i].target = '_blank';
}
(このスクリプトを閉じる直前に置いてください</body>
タグまたはいずれにせよすべての後に<a>
ページのタグ。)
HTMLエディターを使用して単純なfind and replace
を実行できない場合は、jQueryを使用して次のようなことを実行できます。
$('a').click(function() {
$(this).attr('target', '_blank');
});
これにより、クリックされて新しいウィンドウまたは新しいタブで開かれるすべてのa
に対してtarget="_blank"
が自動的に実行されます(これを制御することはできません。ユーザーのブラウザ設定によって異なります)。
お役に立てれば!!
私はこれに対処しなければなりませんでしたたくさん何度も。記録のために:
Javascriptにこのタスクを実行させる必要はないと思いますが、別のアプローチがあります。代わりに、エディターの検索/置換機能を使用して、次のようなことを行うことができます(リンクがその形式である場合)。
エディターを開き、<a href
を探します。
置換フィールドに<a
target="_blank"
href
と入力します。
交換してください。
または、.com">
を検索し、それを.com" target="_blank">
に置き換えることで、タグの末尾に追加できます。これは、検索/置換機能を備えたすべてのエディターで実行できます。パターンを見つけて、それらをどのように置き換えるかだけです。