![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
>複数指定
じゃ、こんな感じで複数の正規表現をかいてください
<script>
try{
document.addEventListener ('click',function(e){clickfunc(e)},true);
}catch(e){
document.attachEvent('onclick',function(e){clickfunc(e)});
}
function clickfunc(e){
var t = (e.srcElement || e.target);
if(t.nodeName=="A"){
var r =[
new RegExp("^http:\/\/.*?yahoo\.co\.jp"),
new RegExp("^http:\/\/.*?goo\.ne\.jp"),
new RegExp("^http:\/\/.*?wikipedia\.org")
];
var flg=false;
for(var i=0;i<r.length;i++){
if(t.href.match(r[i])){
flg=true;
break;
}
}
if(flg){
t.target="_self";
}else{
t.target="_blank";
}
}
//e.preventDefault();
}
</script>
<a href="http://www.yahoo.co.jp">y1</a>
<a href="http://headlines.yahoo.co.jp/hl">y2</a>
<a href="http://search.yahoo.co.jp/search?p=hoge">y3</a>
<a href="http://ja.wikipedia.org">w1</a>
<a href="http://ja.wikipedia.org/wiki/hoge">w2</a>
<a href="http://www.google.co.jp/">g1</a>
<a href="http://www.google.co.jp/search?q=hoge">g2</a>
No.1
- 回答日時:
たとえばこんな感じで、targetを指定してやったり、
場合によってはwindow.openで処理したりすればいいでしょう。
今回だとyahooは自windowにgoogleは他windowに
なにも指定されていないのはデフォルトのtargetに
<script>
try{
document.addEventListener ('click',function(e){clickfunc(e)},true);
}catch(e){
document.attachEvent('onclick',function(e){clickfunc(e)});
}
function clickfunc(e){
var t = (e.srcElement || e.target);
if(t.nodeName=="A"){
if(t.href.match(/^http:\/\/.*?yahoo\.co\.jp/)){
t.target="_self";
}else{
t.target="_blank";
}
}
//e.preventDefault();
}
</script>
<a href="http://www.yahoo.co.jp">y1</a>
<a href="http://headlines.yahoo.co.jp/hl">y2</a>
<a href="http://search.yahoo.co.jp/search?p=hoge">y3</a>
<a href="http://www.google.co.jp/">g1</a>
<a href="http://www.google.co.jp/search?q=hoge">g2</a>
この回答への補足
ご丁寧な解説ありがとうございます。できました。
で、URLを複数指定したいのですが、この部分にどのように追加するのでしょか。
↓
if(t.href.match(/^http:\/\/.*?yahoo\.co\.jp/)){
基本的な質問ですいません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ブログ) Brogger独自ドメインから独自ドメインへ変更する 1 2022/09/22 13:21
- ドメイン・サーバー・クラウドサービス サイト閉鎖後もドメインをキープしたい 2 2022/03/28 01:06
- その他(IT・Webサービス) グーグルドメインズの解約方法 1 2022/08/14 12:52
- ドメイン・サーバー・クラウドサービス CSR生成やSSL証明書の提出について 1 2022/09/19 11:38
- その他(スマートフォン・携帯電話・VR) Yahooのフリーメール 受信許可設定、ドメイン指定受信の仕方を教えてください。 ヤフーのフリーメー 1 2023/01/20 21:13
- ドメイン・サーバー・クラウドサービス 独自ドメインでのNSレコード設定 1 2023/07/12 18:36
- サーバー IIS10でホスト名を設定するとHTTP Error 404が出てしまいます 1 2022/04/04 13:17
- ドメイン・サーバー・クラウドサービス ブログのドメインについて質問です。 【説明】 ブログドメインを(本名の下の名前)blog.comにし 3 2022/09/22 11:53
- WordPress(ワードプレス) WordPressの編集画面がいつもと違うのですがこれは何でしょう? 1 2023/03/29 10:26
- その他(スマートフォン・携帯電話・VR) 携帯メール・アドレスのドメインを教えてください 4 2023/07/13 10:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ActiveXobjectが作成できない
-
画像上のクリックした場所が分...
-
ドメインを指定してリンクを別窓で
-
onchangeイベントを使ってspan...
-
画像の一部を表示
-
javascriptを使ったページ内の...
-
問題はbind の付いたリスナーを...
-
重複しないくじの作り方がわか...
-
onclickとonkeypressの重複
-
JavaScriptのメモ帳アプリ編集...
-
【Tabキー】特定の範囲内だけで...
-
JavaScript を使ってpkゲームを...
-
<a>タグのテキストを取得
-
innerHTML実行後のイベント
-
javascript/他ページ内リンク...
-
Click回数を数え、規定された回...
-
文字を一文字ずつ表示
-
google apps scriptの終了のさせ方
-
Excel VBA の ChangeFileAccess
-
C#OpenCv V4にのエラーに関する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<a>タグのテキストを取得
-
任意の座標をクリックさせるには
-
ActiveXobjectが作成できない
-
innerHTML実行後のイベント
-
Click回数を数え、規定された回...
-
HTML:Tableタグに対し、JavaScr...
-
JavaScriptでオブジェクトを取...
-
onchangeイベントを使ってspan...
-
【Tabキー】特定の範囲内だけで...
-
モーダルダイアログウィンドウ...
-
重複しないくじの作り方がわか...
-
javascript 特定のタグのidの存...
-
配列の大括弧と丸括弧はどう違う?
-
javascriptであるボタンを押す...
-
「nullまたはオブジェクトでは...
-
div要素内の全input要素をdisable
-
onclickを使わずにイベント処理...
-
画像上のクリックした場所が分...
-
RadioButtonListの表示制御
-
javascriptで自動計算フォーム...
おすすめ情報