• 締切済み

ホームページ製作 target=""が使えない

画面をメニューとメインで2分割した構造でメニューで選択したリンクをメインの方に表示させようとしていて、通常なら indexに <frame src=menu.html name=menu> <frame src=main.html name=main> menuに <p><font color="blue">MENU</font><p> <p><a href="./profile.html" target="main">プロフィール</a><p> <p><a href="./site_map.html" target="main">サイトマップ</a><p> <p><a href="./main.html" target="main">トップへ戻る</a><p> という感じにできるのですが、onclick="location.href='URL';" とやってるせいかできません。伝わりにくい説明ですみませんが分かる方がいたら回答よろしくお願いします。

  • HTML
  • 回答数5
  • ありがとう数3

みんなの回答

  • goldfox
  • ベストアンサー率49% (123/249)
回答No.5

>メニューの方にリンクしてしまいます。 そりゃまあ、「丸ごとコピー」で使えるソースは書いていませんから。 (「スクリプト非表示で移動できる方法」を書いただけです。それ以外の部分で、長いところは省略しました。) No.2の回答をよく読んでいれば、onclickでのフレーム名指定の方法「どこを書き換えるか」は、分かると思います。 a要素へのonmouseで、背景色の変わる指定をきちんと書きましたか? (教える必要はない箇所と判断しましたのでここも省略しています) ……もっとも、No.4で指摘されるように、「文字の変更」はともかく、 「(背景)色の変更」はcssで可能ですけど。 >は、どこ入れればいいですか? <STYLE type="text/css"><!-- ~ --></style> の間に入れればいいです。 http://www.tagindex.com/stylesheet/basic/pattern2.html

noname#100277
noname#100277
回答No.4

Javascriptがoffの人には絶対にLINK出来ませんね。 ブラウザがJavascriptでの挙動を一切出来無い様に制限してるのですから。 だから諦めて通常のHTMLだけでの挙動をさせる様にコーディングする以外の方法しか無いでしょう。 Javascriptに依存したサイトの構築方法には前々から問題が在ると考えてます。 IEでは実行可能でも他のブラウザでは実行不可能とかね。 (ブラウザ判定をIEでしか考えて無い作りの素材が氾濫してますから。) Javascriptがoffの人でも文字色変化や背景色変化は、CSSなら変更可能ですね。 但しJavascriptの様にカーソルが離れた後は通常の表示のみですがね。 a:focus{ color:色コード;text-decoration:挙動させる種類; } a:hover{ background-color:色コード; }

oguchiyuuk
質問者

お礼

回答ありがとうございます。確かにJavascriptが問題で通常のHTMLだけでやるしかないようですね。 回答にあった a:focus{ color:色コード;text-decoration:挙動させる種類; } a:hover{ background-color:色コード; } は、どこ入れればいいですか?あと挙動させる種類はどのようなことを入れればいいのか分かりません。理解不足ですみません。 下記はメニューのhtmlのCSSなので具体的にどうやるのかを教えていただければ幸いです。 <STYLE type="text/css"> <!-- .a_menu{ width:197; height:40; background-color:#ffffaa; text-align:center; font-size:20px; font-weight:bold; table border="5"; border:1px solid #555544; } --> </STYLE>

  • goldfox
  • ベストアンサー率49% (123/249)
回答No.3

>オフの環境でもリンクできる方法を教えていただければ幸いです。 innerTextではない方がいいらしいんですけど(IE以外の動作が不明)、JavaScriptはよくわからんです。 >マウスを当てたら文字と色が変わるメニューが作りたかったので。 onmouseoverもonmouseoutもa要素に付けれますけど。 <tr><td><a href="" target="" onmouseover="this.style~;this.innerText='リンク'" onmouseout="this.style~;this.innerText='Link'">Link</a></td></tr> あるいは……こうとか? <td><tr><INPUT type=button class="a_menu" onclick="location.href='#';" onmouseover="this.style.backgroundColor='#ffdddd';this.value='リンク';" onmouseout="this.style.backgroundColor='#ffffaa';this.value='Link';" value="Link"> <noscript><a href="" target="" title="JavaScriptオフの方はこちらからどうぞ">Link</a></noscript></td></tr> 他の方の素晴らしいコーディングに期待しましょう……

oguchiyuuk
質問者

お礼

回答ありがとうございます。 試してみた結果、まず <tr><td><a href="" target="" onmouseover="this.style~;this.innerText='リンク'" onmouseout="this.style~;this.innerText='Link'">Link</a></td></tr> の場合は文字が変わりメインの方にリンクしました。 もう1つの <td><tr><INPUT type=button class="a_menu" onclick="location.href='#';" onmouseover="this.style.backgroundColor='#ffdddd';this.value='リンク';" onmouseout="this.style.backgroundColor='#ffffaa';this.value='Link';" value="Link"> <noscript><a href="" target="" title="JavaScriptオフの方はこちらからどうぞ">Link</a></noscript></td></tr> の方は色と文字が変わりまずが、メニューの方にリンクしてしまいます。

  • goldfox
  • ベストアンサー率49% (123/249)
回答No.2

onclick="location.href='URL';" target指定を「していない」のだから、フレーム選択できなくて当然です。 onclick="parent.main.location.href='URL';" onclickだけでは、JavaScriptオフの環境では移動(リンク)すらできないことは理解していますね?

oguchiyuuk
質問者

お礼

はい、知ってます。オフの環境でもリンクできる方法を教えていただければ幸いです。

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

まさに、 onclick="location.href='URL';" のせいです。 onclickの中身でターゲットのフレームを変更するようにもできますが、 なぜ普通のリンクでは問題あるのでしょうか? (そのあたりの事情によってどう書くべきか変わってきます。)

oguchiyuuk
質問者

補足

普通のリンクでも問題ないのですが。 下記のようなマウスを当てたら文字と色が変わるメニューが作りたかったので。 <td><tr><INPUT type=button class="a_menu" onclick="location.href='#';" onmouseover="this.style.backgroundColor='#ffdddd';this.value='リンク';" onmouseout="this.style.backgroundColor='#ffffaa';this.value='Link';" value="Link"></td></tr>

関連するQ&A

  • フレームのターゲット指定について

    フレームを使ったHPを製作しているんですが フレームのターゲット指定がなぜかうまくいきません。2分割したフレームなんですけどもフレームタグは <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>タイトル</title> </head> <frameset cols="100,*" framespacing="0" frameborder="NO" border="0"> <frame src="t_menu.htm" name="menu" scrolling="NO" noresize id="menu"> <frame src="t_main.htm" name="main" id="main"> </frameset> <noframes> <body> <P> このページをご覧いただくにはフレーム対応のブラウザが必要です。 </p> </body> </noframes> <script language="JavaScript"> <!-- window.open = SymRealWinOpen; //--> </script> </html> です。 t_menu.htmで指定したページを全てt_main.htm開きたいと思い、<a href="about.htm" target="main">を入れてもなぜか新しい窓が開いてしまいます。<a href="about.htm" target="menu">とやるとちゃんとmenuのところで開くようになります。何度やってもmainのほうに開いてくれません。何がいけないのでしょうか? 製作環境はDreamweaver MX2004、IE6.0です。 宜しくお願いします。

  • HTMLのフレームについて

    左側にメニューを置き、右側をメインにしようとしているのですが、左側のメニューをクリックしても、左側にしか表示されません。 どうすれば良いか教えてください 全体のHTMLが <html> <Html Lang="ja"> <Head> <Title>○</Title> </Head> <Frameset cols="155,*" Frameborder="yes" Scrolling="auto" Bordercolor="#ffcc99"> <Frame src="メニュー~"> <Frame src="メイン~" name="main"> <Noframes> <body> <Center> <p> ○ </p> </Center> </body> </Noframes> </Html> 左(メニュー)のフレームは <html> <Html Lang="ja"> <Head> <Meta Http-equiv="content-type" Content="text/html; charset=Shift_JIS"> <Title>○</Title> </Head> <Body> <BaseFont Size="2"> <Font Size="2"> <A Href="~" target="main"></A><Img Src="ー" Border="0"></A><br> <br> <A Href="~" target="main"><Img Src="ー" Border="0"></A><br> <br> <A Href="~" target="main"><Img Src="ー" Border="0"></A><br> <br> <A Href="~" target="main"><Img Src="ー" Border="0"></A><br> <br> <A Href="~" target="main"><Img Src="ー" Border="0"></A><br> <br> <A Href="~" target="main"><Img Src="ー" Border="0"></A><br> </Body> </Html> ですよろしくお願いします

  • HTMLでフレームから隣のフレームにリンクすると別窓になる

    タイトル通り、どうやっても別窓になってしまうんです;;; 今の状況です↓ <html> <head> <title>MAIN</title> </head> <frameset cols="290,65%" bordercolor="#ffff55" frameborder="1" framespacing="1"> <frame src="menu.html"  name="menu" scrolling="yes"> <frame src="top.html"  name="top" scrolling="yes"> </frameset> </html> ↑これがmain.htmlです <html> <head> <title>MENU</title> </head> <body> <frame src="main.html" name="main"> <a href="top.html" target="top.html">TOP</a> <a href="about.html" target="top.html">ABOUT</a> <a href="gallry.html" target="_blank">GALLRY</a> <a href="memo.html" target="top.html">MEMO</a> <a href="link.html" target="top.html">LINK</a> <a href="index.html" target="_top">ENTER</a> </body> </html> ↑こっちがmenu.htmlです ショートカットは、main.htmlとmenu.html(左側)とtop.html(右側)を用意してあります まだ初心者なのでタグがごちゃごちゃしてて分かりづらいかもしれないですが((汗 どうすればtopの方に表示されるのでしょうか??

  • フレームのターゲット設定がうまくいきません

    今回、Flashの無料素材を使用して、ホームページ作成を試みています。 その際にフレームを上下に2分割して、フレーム上にFlash素材(メニューボタン)を、下にコンテンツ内容を表示させるようにしたいのですが…。 ボタンを選択すると、フレーム下のみ画面が変わってほしいのですが、ボタンを押すたびに新しいウィンドウが出現してしまいます。 ■フレーム用HTMLソース■ <frameset rows="40%,*" frameborder=0> <frame src="menu.html" name="menu" noresize> <frame src="main.html" name="main"> </frameset> ■Flashメニュー用Textファイル内■ //メニューの名前 &menu01=about& &menu02=bbs& &menu03=link& //リンク・ターゲット &url1=./about.html& &target1=main& &url2=./bbs.html& &target2=main& &url3=./link.html& &target3=main& どこを変更すれば新規ウィンドウが出ないようにすることができるでしょうか? (フレーム上のメニューを普通のHTMLでのリンクにするとうまくいくのですが…(;_;)) もしくはHTMLやTextファイルでは制御できないものなのでしょうか? 文章が拙くて申し訳ありませんが、わかる方、ご教授お願いいたします。

    • ベストアンサー
    • Flash
  • フレームを使って細いメニューを作りたいです。

    フレームを使って細いメニューを作りたいです。 フレームを使って下のほうに細いメニューを表示したいと思っています。 しかし文字の上に一行分くらいの隙間が開いてしまい、 メニューの文字がスクロールしないと表示されません。 メニューの作り方も調べましたが、ここまで細いものについてはわかりませんでした。 どうしたら上手く表示できるでしょうか。 完成ページ↓ <html> <head> <title></title> </head> <frameset rows="*,3%" frameborder="NO" border="0"> <frame src="PageTop.html"> <frame src="Menu.html" noresize scrolling="NO"> <norames><P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P> </frameset> </html> PageTop.html↓ <html> <head> <title></title> </head> <body></body> </html> Menu.html↓ <html> <head> <title></title> <style type="text/css"> <!-- p { text-decoration: none; } --> </style> </head> <p> <body bgcolor="#696969" link="#696969" alink="#696969" vlink="#696969"> <font face="Kartika"><div style="font size:20px;">    <target="1" href="">Top</a>     <target="1" href="">About</a>    <target="1" href="">Main</a>    <target="1" href="">Blog</a>    <target="1" href="">Link</a>    <target="_top" href="">Index</a> </font></p> </body> </html> 至らない点がありましたらご指摘ください。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • サイトのtarget属性について

    サイトを作っているのですが、target属性がうまくいきません。 WinVistaでDreamweaverを使っています。 フレームを縦3画面に分けて、左メニュー・中央に表示・右サブメニューというようにしているのですが、 フレームセットの画面ではname="2"のようにして、リンクにはtarget="2"と指定していても、name="1"のところに表示されてしまいます。 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>フレーム3分割</title> </head> <frameset cols="230,*,240" border="0"> <frame src="menu.html" name="1" scrolling="auto"> <frame src="top.html" name="2" scrolling="auto"> <frame src="menu2.html" name="3" scrolling="auto"> </frameset> <noframes></noframes> </html> この部分はおかしくないと思います。 メニュー画面は <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>menu</title> <STYLE type="text/css"> <!-- BODY { background-image : url("menubg.jpg"); background-attachment: fixed; background-position: 0% 100%; background-repeat: no-repeat; } --> </STYLE> <link href="css.css" rel="stylesheet" type="text/css" /> </head> <a href="top.html" target="2"><img src="icon/top.gif" onmouseover="this.src='icon/top2.gif';" onmouseout="this.src='icon/top.gif';" style="position: absolute;top: 300px;left: 120px;"></a><br> ・ ・ ・ </body> </html> のようになっています。 言葉を変えていろいろ検索してみましたが、どうにもヒットしませんでしたので、ご教授よろしくお願いします。

  • HTMLでホームページ作成中の者です。

    HTMLでホームページ作成中の者です。 タグの貼り方が分かりません・・・ 一つの要素にやりたい事が沢山あって、 例えば ◯フレームを左、中央、上で分けたい。 ◯左に入れた項目文字にリンクを貼りたい。 ◯中央に左の項目のリンクを表示させたい。 とかです。(本当はフォント指定とか、大きさとか色とか指定したいんですが・・・) その時に分からない事は ◯その指示を<head>に入れるのか<body>に入れるのか。 ◯それぞれのタグをどう区切ってどの順で入力したらいいのか。 例えば ↓フレーム分割タグ↓ <frame src="frame1.html" name="left"frameborder="1"><frameset cols="150,*"> ↓リンクタグ↓ <a href="profile">Profile</a> これをこの様に付けても表示されません。 <frame src="frame1.html" name="left"frameborder="1"><frameset cols="150,*"><a href="profile">Profile</a> もう限界で・・・どなたか教えて下さいお願いします。

    • ベストアンサー
    • HTML
  • frameでのcssの変更する方法

    frameを使ってmain.html、menu.htmlを表示し、menu.htmlからmain.htmlのcss(外部)を変更する方法を教えてください。 frameのnameはmain.html→main、menu.html→menu、main.htmlのcssのidはmain、で指定してあります。 以下サンプルです frame.html <html> <head> </head> <frameset rows="50,*"> <frame src=main.html name="main"> <frame src=menu.html name="menu"> </frameset> </html> main.html <html> <head> <link rel="stylesheet" type="text/css" href="a.css" id="main"> ←(a.cssをb.css変更したい) </head> <body> </body> </html> menu.html <html> <head> </head> <body> </body> <a href="#">変更トリガー</a> </html>

  • p target とは

    <p target="_blank"><font color="#ff00ff" size="4"><a href="リンク先"></a> <img alt="表示" src="faile address.gif" /> </font></p> の意味を教えていただけませんでしょうか。 いろいろなサイトのソースを見て勉強させていただいてるんですが、後ろのアドレスにターゲットブランクを入れると別窓表示というのは知っていました。でもあるサイトで上記のようなタグが入っており、 ブラウザで見るとfaile address.gifの画像がでてるだけで クリックしてもリンク先が表示されないし このタグのすぐ下にテキストリンクでリンク先が <a href="リンク先">リンク先</a>のように のっています。 これはどういう意図のタグになるんでしょうか。 <p target="_blank">で検索してみても 出てきませんでした。 詳しい方、よろしくお願いします。

    • ベストアンサー
    • HTML
  • フレーム構成の表示について

    現在、複数のクラブチームに所属しています。 クラブごとにHPを作成しており、見やすい様に フレーム型のHPを作成し参照できるように考えています。 現在作成しているのはこのような状態となっております。 ---------------------------------------------------------------------- ◆フレームセットのHTML <html><frameset cols="200,*"> <frame src="menu.html" name="_MENU"> <frame src="main.html" name="_MAIN"> </frameset></html> ◆メニューのHTML <html><body> <a href="club_AAA.htm" target="_MAIN">クラブA</a> <a href="club_BBB.htm" target="_MAIN">クラブB</a> <a href="club_CCC.htm" target="_MAIN">クラブC</a> </body></html> ◆メインのHTML 個々のHPを表示させるだけなので、中見は無し。 ---------------------------------------------------------------------- 基本的に表示はできるのですが、改善を考えている為、質問させてください。 クラブBのHPは初期表示状態ではセレクトボックスしか表示されていません。 セレクトボックスで選択し、onClickにてJacascriptで表示内容を制御しています。 そのため、今の状態では、  _MENUリンク押下⇒_MAINに表示⇒セレクトボックス選択⇒≪見たい内容が表示≫ となりますが、  _MENUリンク押下⇒_MAINに≪見たい内容≫表示 と一気に飛ばす事は出来ないのでしょうか?

専門家に質問してみよう