- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptでのリンク表示)
javascriptでのリンク表示
このQ&Aのポイント
- javascriptを使用して、main.htmlのリンクをクリックすると、サンプル図(3)の部分に変換されたリンクが表示されるかどうかを確認したいです。
- 具体的には、main.htmlのリンクをクリックしたときに、URLに「b.html?url=」が含まれているリンクを検知し、その部分を削除して新しいタブで開くようにしたいです。
- このためには、javascriptを使用してクリックイベントを監視し、URLの変換と新しいタブでの開き方を設定する必要があります。具体的なコードについては後述します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
出来るんじゃないですかね。 javascriptが必要になると思います。 <script type="text/javascript"> var title = ''; document.location.match(/url=(.*)/); var url = RegExp.$1; if (url.match(/yahoo/)) { title = 'Yahoo Japanへ!'; } else if (url.match(/google/)) { title = 'Googleへ!'; } else if (url.match(/msn/)) { title = 'msnへ!'; } document.getElementById('idname').innerHTML = '<a href="' + url + '" target="new">' + title + '</a>'; </script> ちょっとしょぼいですがこんなのはどうでしょう。 menu.htmlに書くjavascriptです。 (3)の部分のタグに、 id="idname" とか書くと書かれると思います。
お礼
もっと効率がいい方法が見つかりましたので、そちらのほうでまた質問させていただこうかと思います。 どうもありがとうございました
補足
サンプルプログラムありがとうございます。 ===================================================== if (url.match(/yahoo/)) { title = 'Yahoo Japanへ!'; } else if (url.match(/google/)) { title = 'Googleへ!'; } else if (url.match(/msn/)) { title = 'msnへ!'; } ================================================= この部分なんですが、menuと言うページ1つしか使用しないため、このように書くと、リンクが100とかに増えるととんでもないことになります。 そこで、もう少し噛み砕いて何がしたいのか改めて書かせてもらおうかと思います。 ◆プログラム的に説明すると 1.親ウィンドウをクリックした時に子ウィンドウが開きます 2.親ウィンドウの「b.html?」を含める「aタグ」「タイトル」一覧を取得します 3.取得したaタグ一覧を<a href="××.html" target="××">title</a>として子ウィンドウに出力します ◆上のプログラムを実際に説明すると 1.main.htmlのリンクをクリックした時に、新規ウィンドウで子ウィンドウmenu.htmlが開きます 2.この時に、main.htmlの ⇒<a href="b.html?url=http://yahoo.co.jp" target="_blank">Yahoo Japanへ!</a> ⇒<a href="b.html?url=http://www.google.co.jp/" target="_blank">Googleへ!</a> ⇒<a href="b.html?url=http://jp.msn.com/" target="_blank">msnへ!</a> リンクをクリックした時に、「b.html?url=」を含める「aタグ」「タイトル」一覧を取得します 3.取得したaタグ一覧とタイトルを <a href="http://yahoo.co.jp.html" target="new">Yahoo Japanへ!</a> <a href="http://www.google.co.jp/" target="new">Googleへ!</a> <a href="http://jp.msn.com/" target="new">msnへ!</a> として(3)の部分に出力します 以上の、動作をjavascriptでやりたいと思っています。最初に書いた説明が分かりにくくてすみません@@ *main.htmlのリンクが変更されたら、menu.htmlの(3)の部分も変更されるようにしたいのです。 *menu.htmlは、1ページしか使いません *配列でもなんでも使用してもかまいませんので、どうぞよろしくお願いします