• 締切済み

フレームページでページ内リンクを使用する。

2分割のフレームページで、リンクをする際に、アンカーを使って、ページ内リンクをしたいのですが、どのように書いたら良いのでしょうか? 一応こんな風に書いたんですが。。 function setFrame(jpURL) { parent.samplepage.location.href = jpURL; } --------------------------------------------- <a href="#" onMouseover="setFrame('sample.htm','test')">壱</a><br> <a href="#" onMouseover="setFrame('sample.htm','test2')">弐</a><br> よろしくお願いします。

みんなの回答

  • selene_pl
  • ベストアンサー率49% (102/207)
回答No.2

なんか、言いたいことはいろいろとありますが(笑) とりあえず、これを試してください。 function setFrame(jpURL) { parent.sample.location.href = jpURL } //(上の、"sample"の部分は、下フレームのname<indexのframesetで与えている名前) ---------------------------------------------------- <a href="#" onClick="setFrame('sample.htm#test')">壱</a><br> <a href="#" onClick="setFrame('sample.htm#test2')">弐</a><br> 動作確認はしてないので、動くかどうかは保障できません(--; というか、冷静に考えたらスクリプトを使う必要すらないような・・・

回答No.1

こんばんわぁ、Blackwinglsです。 ぜんぜん動作確認とかしてないで直感で答えちゃいますが・・・・・(^^;) <a href="#" onMouseover="setFrame('sample.htm#test')">壱</a><br> とかじゃぁダメですか? testってジャンプ先のアンカー名ですよね。 えはでは(^.^)/~~~

qaznet
質問者

補足

Blackwinglsさん、早速の回答ありがとうございます。 しかしですが、ダメでしたぁぁ~(;o;) 詳しく申しますと、index.htm があって、その中のフレームが上下にあります。 上フレームが、top.htm 下フレームがsample.htmです。 アンカーは、おっしゃるとおり#test と #test2 です。 で、最初から下フレームに、sample.htm を表示させているせいなのか、ブラウザのステータスバーのところには、[http://~~/top.htm#]と表示されて[!]エラーになっています。 なぜでしょうか?

関連するQ&A

  • JavaScript フレーム

    Javascriptをふたつ書くことはできないんですか? 2つ書いたら「い」のほうしか宣言されないんでどうしたらよろしいですか? Update.java,kensaku2.java syouhin_kensaku.html,syouhin_master.html <html> <head> <title>メニュー</title> </head> <body> <script type="text/javascript"> <!-- function jump(){ // 設定開始(表示するフレーム名とリンク先URLを設定してください) parent.hakusi.location.href = "syouhin_kensaku.html"; parent.hakusi2.location.href = "Update"; // 設定終了 } // --> </script> <a href="#" onClick="jump(); return false;">あ</a> <br> <br> <script> <!-- function jump(){ parent.hakusi.location.href = "syouhin_master.html"; parent.hakusi2.location.href = "kensaku2"; //設定終了 } // --> </script> <br> <a href="#" onClick="jump(); return false;">い</a> <br> <br> </body> </html>

  • フレームサイズの変更について

    過去ログを参照していたら、次のようなサンプルを発見したのですが、 IEでは動作しますが、FireFoxではエラーになってしまいます。 どこを修正すれば動くようになるでしょうか? ■frame.html■ <html> <head><title></title> <script language="javascript"> <!-- document.write(frset('40%','60%','a.htm?','1.htm?')) function frset(a,b,f1,f2){ var frset= '<title>frame</title>\n' +'<frameset cols="'+a+','+b+'">\n' +'<frame src="'+f1+'">\n' +'<frame src="'+f2+'">\n' +'</frameset>\n' return frset } //--> </script> </head> </html> ■a.html■ <html> <head><title></title> </head> <body> 右のリンクで<br>フレームのサイズ<br>が変わるよ! </body> </html> ■1.html■ <html> <head><title></title> <script language="javascript"> <!-- function chsize(a,b){ if(location.search==""){ if(document.all){ parent.document.all.tags("frameset")[0].cols=a+","+b }else{ //parent.document.open() parent.document.write(frset(a,b,parent.frames[0].location.href+"?",parent.frames[1].location.href+"?")) parent.document.close() } } } //--> </script> </head> <body onload="chsize('40%','60%')"> こっち側60%です。 <br> <a href="2.htm">こっち側を40%にする!</a> </body> </html> ■2.html■ <html> <head><title></title> <script language="javascript"> <!-- function chsize(a,b){ if(location.search==""){ if(document.all){ parent.document.all.tags("frameset")[0].cols=a+","+b }else{ //parent.document.open() parent.document.write(frset(a,b,parent.frames[0].location.href+"?",parent.frames[1].location.href+"?")) parent.document.close() } } } //--> </script> </head> <body onload="chsize('60%','40%')"> <a href="1.htm">こっち側を60%にする!</a> <br> こっち側40%です。 </body> </html>

  • マウスオーバーでフレームに対応した内容を表示・・・。

    こんにちは。 いつもお世話になっております。 参考にしたサイト http://www.openspc2.org/reibun/javascript/frame/003/index.html 【内容】 フレーム分割のページ等の内容は以下の通りです。 ●フレーム分割ページ <html> <head> <title>マウスオーバーで右側フレームに対応した内容を表示する</title> <frameset cols="20%,*"> <frame src="code_left.html"> <frame src="code_right.html" name="rightFrame"> </frameset> </head> </html> ●左側のページ(code_left.html) <html> <head> <title>マウスオーバーで右側フレームに対応した内容を表示する</title> <script language="JavaScript"><!-- function setFrame(jpURL) { parent.rightFrame.location.href = jpURL; } // --></script> </head> <body> <a href="#" onMouseover="setFrame('page1.html')">その1</a><br> <a href="#" onMouseover="setFrame('page2.html')">その2</a><br> </body> </html> で、意図した動きが出来たのですが、その1をクリックするとcode_left.htmlが別窓で開いてしまいます。 参考にしたサイトのサンプル画面ではこのような 動きにはならないのに、なぜ別窓が開いてしまうのか がわからないのです。 どうかご指導よろしくお願いいたします。

  • ランダムリンクについて(フレーム使用)

    ランダムリンクについて(フレーム使用) ランダムリンクを設定したのですが、 その後の表示までかなり時間(5秒くらい)がかかります。 どのようにしたら改善されるのでしょうか。 フレームは左右に分けてあり 左をleft 右をright としてあります。 <head></head>中には、 <SCRIPT Language="JavaScript"> <!-- function randomJump() { theURL = new Array(); theURL[0] = "a.htm"; theURL[1] = "b.htm"; theURL[2] = "c.htm"; theURL[3] = "d.htm"; linkCount = 4; num = Math.floor(Math.random() * linkCount); parent.frames["right"].location.href = theURL[num]; } // --> </SCRIPT> <body></body>中には <A HREF="javaScript:randomJump()"> <IMG src="gazou.gif" width="9" height="12" border="0"> </A> です。 適当にサイトから見つけてきたのを変えただけなので 詳しい知識はありません。 どなたかご教授のほど宜しくお願い致します。

  • あるフレームを別ページへリンクするには

    仕事でHTML画面を作成しているのですが、非常に困っている画面があります。 まずはこちらのHTMLソースをご覧ください。 http://www.hidecnet.ne.jp/~uru/sample.htm 上記画面なんですが、見たとおりフレーム分割した中にまたフレームと。 かなり複雑にフレーム分割しているのですが、この中にフレーム名が"frmB_B_A2"という 画面があります。 その画面(frmB_B_A2.htm)で、 <a href="xxxx.htm">中段(ミドル)のフレームを更新</a> と記述すると別画面(xxxx.htm)へリンクした場合"frmB_B_A2"という画面(自分自身)がリンクされます。 (当たり前の話ですが) これとは別に"frmB"というフレームに、"xxxx.htm"へリンクさせる場合場合、 どのように記述すれば宜しいでしょうか?  かなり複雑な質問で申し訳ありませんが、宜しく御願い致します。

    • ベストアンサー
    • HTML
  • Mac-IEでの複数フレームのリンク

    02-01-18のkyappunさんの質問と内容的には同じなのですが。 フレーム使用のホームページで、複数フレームを同時に変更したいのですが、MacのIE(5.0)では、どうしても動作しません。 ※WinのIE6.0、NN4.7、NN6.0、MacのNN4.7では動作します。…が、MacのIEでも 動いてほしいのです。 ソースは、以下のようにしました。 (このソースには、こだわってないです) 解決法をご存知の方がいらっしゃいましたら、どうかよろしくお願いします。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>フレームのリンク</title> <SCRIPT Language="JavaScript"> <!-- function changepage(top,bottom) {     parent.head.location.href=top;   parent.main.location.href=bottom; } //--> </SCRIPT> </head> <body> <form> <a href="javascript:changepage('head2.html','main2.html')">リンク1</a> <br> <a href="javascript:changepage('head3.html','main3.html')">リンク2</a> </form> </body> </html>

    • ベストアンサー
    • Mac
  • フレーム内リンクを禁止したい

    表題のとおり、フレーム内へのリンクを禁止したく <script language="JavaScript"> <!-- if (parent.location.href != window.location.href) parent.location.href= window.location.href; //--> </script> を<head>と</head>の間に入れてみましたが、「書き込みができません。」とエラーになります。 どこか間違っているのでしょうか。

  • 1クリックで複数のページを開く(片方はインラインフレームに)

    現在フレームを使ってサイトを作っています。 左右2分割で、 左側がmenu.html name=left 右側がmain.html name=right 更に左側のページにはインラインフレームがあり、 frame.html name=sita となっています。 左側のインラインフレームの外にあるリンクを一度押すと、右側のフレームとインラインフレームの中で新しくページが開くようにしたいと考えています。 <SCRIPT language="JavaScript"> <!-- function link1() { parent.right.location.href='aaa.html'; parent.sita.location.href='bbb.html'; } --> </SCRIPT> <A href="JavaScript: link1();">リンク</A> (<body>諸々は略しています) このスクリプトを使用するとインラインフレームの部分が普通のフレームの場合は同時に開くことが出来たのですが、sitaをインラインフレームにすると動かなくなりました。 色々と検索してみたのですが答えにたどり着けずお手上げです。 解決方法をご存知の方、どうぞよろしくお願いいたします。

  • 複数フレーム同時リンクタグ

       A =======    B =======    C フレーム分けしたhtml名→top.html と、縦3分割されたHPを作った際に Aのフレーム内のリンクを押した際にtarget設定でB とCのフレーム内を同時に変更する方法を探しています HPの構造上、BとC部分に1つの新しいフレームページを設けて そちらのフレームサイトへリンクをさせるという方法はできないです あとJAVAスクリプトを使用した <SCRIPT TYPE="text/javascript"> <!-- function jump(){ parent.B.location.href = "B.html"; parent.C.location.href = "C.html"; という方法でできるそうなのですが 以前自分では HTML言語の<a herfの派生のようなタグで これが実現できていました このタグを知りたいのですが以前のデータ消失&検索してもなぜか引っかからずで困っております・・・ どなたか教えてください

  • フレームページのリンクについて

    今、メモ帳でサイトを作っています。そこで、フレームページについてでわからないことがありましたので質問させていただきます。 質問は、縦に分割したフレームで左がメニュー、右がメインページとなったものです。 タグは下のとおりです。 <html> <head> <title> -とっぷ- </title> </head> <body> <center><font face="メイリオ"><br><br><a href="tyuui.html"target="main">ちゅうい</a></font><br> </center> </body> </html> サイトの注意書きを載せたいのですが、これだと別窓に表示されます。 注意書きのページ名はtyuui.htmlで表示する右ページ名はmain.htmlであっています。スペルチェック等も何度もしました。 mainの場所に.htmlをつけても別窓表示されます。 右のページにリンク先を出すには、どうすればいいのでしょうか。 私は極力お金をかけないように、サイトなどで確認・勉強しながらタグ打ちをやっていますので初心者です。説明も分かりにくいかもしれませんが、よろしくお願いします。

専門家に質問してみよう