Mac-IEでの複数フレームのリンク

このQ&Aのポイント
  • Mac-IEでの複数フレームのリンクについて解説します。
  • MacのIE(5.0)では、複数フレームを同時に変更することができません。
  • MacのIEでも複数フレームのリンクが動作する方法を知っている方、教えてください。
回答を見る
  • ベストアンサー

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
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

Mac OS XのMSIEなら動きますね。それはともかく。 parentでなくtopでアクセスしてみるとか、 parent.head じゃなく、 parent.frames[ 'head' ] でアクセスしてみるとか、 changepage()をparent側で定義して、javascript:parent.changepage()で呼び出してみるとか、 headとmainのhrefを書き換えるタイミングを入れ替えてみるとか、 changepage()の仮引数名を変えてみるとか。 あと、エラーメッセージが出てるなら、その解析を追求してみるとか。 Classicの方には、Webブラウザ入れてないので、試さないで書いてますが。

popopee
質問者

お礼

ありがとうございます!(^-^) >Mac OS XのMSIEなら動きますね。 えーっ。そうなのですか…。 >javascript:parent.changepage()で呼び出し これで成功しました! 大喜びしていたら、ブラウザの「戻る」では、1フレームずつしか戻らないのでショック…。前に書き込みされた方の例を見つけましたので、ただいまがんばってるところです。 貴重なお時間を割いてくださり、ホントに有り難うございますっ。

関連するQ&A

  • フレーム内リンクを禁止したい

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

  • 2ヶ所のリンクで、更にロールオーバーできますか?

    ホームページ作成で、フレーム2ヶ所に同時リンクできたのですが、更にリンク用アイコンをロールオーバーさせる場合どうすれば良いのでしょうか?勉強中なので申し訳ありません。 imageフレームに、image.html main フレームに、main.html の2ヶ所に同時リンクさせています。 リンク用アイコンが 01_off.gif です。 このアイコンを、 01_on.gif を作り、ロールオーバーさせたいのです。 色々やりましたが、どうしても上手くいきません。 どなたか、教えて頂けないでしょうか? 下記が、リンク元のソースです ------------------------------------------------------------------------------- <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title></title> <!--ここから--> <script language="javascript"> <!-- function Frchange(){ parent.image.location.href="image.html"; parent.main.location.href="main.html"; } //--> </script> <!--ここまで--></head> <body><!--ここから--> <form><input type="image" value="フレーム内を同時に変更" onclick="Frchange()" src="01_off.gif"></form> <!--ここまで--></body> </html> -------------------------------------------------------------------------------

    • ベストアンサー
    • HTML
  • リンク元フレームからの脱出

    自分のサイト http://www.***.ne.jp/xxx/ がリンク元フレーム内に 表示されるのを回避しようと、以下のスクリプトを<head>に書いて みました。NN4.7とIE5.0でテストしましたが、入れ子からの脱出はできず、 それ以降に書いたスクリプトも実行されません。添削していただけませんか。 <script language="JavaScript"> <!-- yourTop = window.top.location.href; if ((yourTop.substr(0,4) == "http") && (yourTop.substr(11,13) != "***.ne.jp/xxx")) { window.top.location.href = "http://www.***.ne.jp/xxx/"; } //--> </script>

  • 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>

  • NNでは動くのにIEで動かない。

    NN4.75、IE5.00という環境で、JavaScriptを使ったHPを作成しています。そのJavaScriptも先日こちらのサイトで教えて頂いたもので(http://www.okweb.ne.jp/kotaeru.php3?qid=135419)、正しく動くと書いてあったのですが、IEでは動きません。 <HTML> <HEAD><TITLE>フレームなしページ</TITLE> <SCRIPT language="JavaScript"> <!-- sendURL = "b.html"; function sendData(anc){ sData = escape(anc); location.href = sendURL + "?" + sData ; } //--> </SCRIPT> </HEAD> <BODY bgcolor="#FFFFFF" text="#000000"> <P><A href="#" onClick="sendData('#1')">アンカー1</A></P> <P><A href="#" onClick="sendData('#2')">アンカー2</A></P> </BODY> </HTML> フレームのないページから、フレームのあるページのそれぞれ特定の場所(#1,#2)にリンクさせるというもので、フレームのないページから抜け出せません。 アドレスの所には、"file:///U:/a.html#"とでます。 これはNNでは、"file:///U:/a.html#"→"file:///U|/b.html?%232"とでてきちんとリンクするのでどこか、プログラムが違ってしまっているのかと、何回も見てみたのですが、わかりません。 教えてください。

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

    過去ログを参照していたら、次のようなサンプルを発見したのですが、 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>

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

       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の派生のようなタグで これが実現できていました このタグを知りたいのですが以前のデータ消失&検索してもなぜか引っかからずで困っております・・・ どなたか教えてください

  • 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をインラインフレームにすると動かなくなりました。 色々と検索してみたのですが答えにたどり着けずお手上げです。 解決方法をご存知の方、どうぞよろしくお願いいたします。

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

    ランダムリンクについて(フレーム使用) ランダムリンクを設定したのですが、 その後の表示までかなり時間(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> です。 適当にサイトから見つけてきたのを変えただけなので 詳しい知識はありません。 どなたかご教授のほど宜しくお願い致します。

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

    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> よろしくお願いします。