みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

投稿日時 - 2009-01-31 18:32:31

QNo.4677634

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

>メニューの方にリンクしてしまいます。

そりゃまあ、「丸ごとコピー」で使えるソースは書いていませんから。
(「スクリプト非表示で移動できる方法」を書いただけです。それ以外の部分で、長いところは省略しました。)

No.2の回答をよく読んでいれば、onclickでのフレーム名指定の方法「どこを書き換えるか」は、分かると思います。

a要素へのonmouseで、背景色の変わる指定をきちんと書きましたか?
(教える必要はない箇所と判断しましたのでここも省略しています)
……もっとも、No.4で指摘されるように、「文字の変更」はともかく、
「(背景)色の変更」はcssで可能ですけど。

>は、どこ入れればいいですか?
<STYLE type="text/css"><!-- ~ --></style> の間に入れればいいです。
http://www.tagindex.com/stylesheet/basic/pattern2.html

投稿日時 - 2009-02-01 14:59:42

Javascriptがoffの人には絶対にLINK出来ませんね。
ブラウザがJavascriptでの挙動を一切出来無い様に制限してるのですから。
だから諦めて通常のHTMLだけでの挙動をさせる様にコーディングする以外の方法しか無いでしょう。
Javascriptに依存したサイトの構築方法には前々から問題が在ると考えてます。
IEでは実行可能でも他のブラウザでは実行不可能とかね。
(ブラウザ判定をIEでしか考えて無い作りの素材が氾濫してますから。)

Javascriptがoffの人でも文字色変化や背景色変化は、CSSなら変更可能ですね。
但しJavascriptの様にカーソルが離れた後は通常の表示のみですがね。

a:focus{ color:色コード;text-decoration:挙動させる種類; }
a:hover{ background-color:色コード; }

投稿日時 - 2009-02-01 01:11:38

お礼

回答ありがとうございます。確かに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>

投稿日時 - 2009-02-01 12:15:04

ANo.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>

他の方の素晴らしいコーディングに期待しましょう……

投稿日時 - 2009-02-01 00:42:27

お礼

回答ありがとうございます。
試してみた結果、まず

<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>
の方は色と文字が変わりまずが、メニューの方にリンクしてしまいます。

投稿日時 - 2009-02-01 11:58:04

ANo.2

onclick="location.href='URL';"

target指定を「していない」のだから、フレーム選択できなくて当然です。

onclick="parent.main.location.href='URL';"

onclickだけでは、JavaScriptオフの環境では移動(リンク)すらできないことは理解していますね?

投稿日時 - 2009-01-31 20:24:44

お礼

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

投稿日時 - 2009-02-01 00:01:13

ANo.1

まさに、
onclick="location.href='URL';"
のせいです。

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

投稿日時 - 2009-01-31 19:11:34

補足

普通のリンクでも問題ないのですが。
下記のようなマウスを当てたら文字と色が変わるメニューが作りたかったので。
<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>

投稿日時 - 2009-02-01 00:01:25

あなたにオススメの質問