• 締切済み

ホームページ製作 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';" とやってるせいかできません。伝わりにくい説明ですみませんが分かる方がいたら回答よろしくお願いします。

みんなの回答

  • 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

専門家に質問してみよう