• 締切済み

javascriptが動かない

javascript初心者です。 画面を三分割し、画面ロード時にそれぞれのフレームの位置を表示するという、サンプル的なのを作ったのですが、画面は分割されますが、上、左、右 ってのが表示されないです。 javascriptの記述の仕方が根本的に違いますかね? 下記に書いてあるのがそのソースコードです。 どなたかお願いします。 <html> <head> <title>FrameSample</title> <script type="text/javascript" > function frameinit(){ frames["top"].document.write("上"); frames["left"].document.write("左"); frames["right"].document.write("右"); } window.onload=frameinit; </script> </head>    <frameset rows="100,*">      <frame src="newpage4.html" name="top" >       <frameset cols="50,50">          <frame src="newpage4.html" name="left">         <frame src="newpage4.html" name="right">        </frameset>   </frameset> </html>

みんなの回答

  • x_jouet_x
  • ベストアンサー率68% (162/236)
回答No.1

Firefox 3.5では問題なく動作しましたけど・・・。 frameオブジェクトの参照をframes["フレーム名"]ではなく、parent.フレーム名に書き直してみて下さい。 以下、JavaScript部分をそのように書き直したものです。 ---------- <script type="text/javascript" > function frameinit(){ parent.top.document.write("上"); parent.left.document.write("左"); parent.right.document.write("右"); } window.onload=frameinit; ----------

関連するQ&A

  • frameとJavaScriptの共存

    <html><head><title> INDEX.HTML </title></head> <frameset rows="70%,*"><frame src="./main.html" name="MAIN"><frame src="./menu.html" name="MENU"></frameset></html> の中に下記のJavaScriptを埋め込みたいのですが どうすればいいのでしょうか? <SCRIPT Language="JavaScript"> <!-- document.write("<img src='http:/xxx/acclog.cgi?"); document.write("referrer="+document.referrer+"&"); document.write("width="+screen.width+"&"); document.write("height="+screen.height+"&"); document.write("color="+screen.colorDepth+"'>"); // --> </SCRIPT> Java Scriptを埋め込んだらフレームが正常に働かなくなりました。 どのようにすればいいのでしょうか?アクセス解析なのでindex.html に設置したいのですがいいアドバイスよろしくお願いします。

    • ベストアンサー
    • HTML
  • 他のフレームにあるボタンを使用不可にするには?

    2つのフレームに分割した画面で、一方のフレームにあるボタンを押したら、他のフレームにあるボタンを使用できなくしたいのですが、うまくいきません。下記のスクリプトでは、エラーになってしまいます。どのようにしたら良いでしょうか、よろしくお願いいたします。 <フレームの設定> <html> <head><title>フレームを縦に分割する</title></head> <frameset cols="50%,50%"> <frame src="left.html" name="light_frame" frameborder=1 border=1> <frame src="right.html" name="left_frame" frameborder=1 border=1> </frameset> </html> <left.htmlの内容> <html> <head> </head> <body> <form name="myform"> <input type="button" name="bt_del" value="削除"> </form> </body> </html> <right.htmlの内容> <SCRIPT Language="JavaScript"> function func1(){ //NG parent.left_frame.document.form.myform.bt_del.disabled = true; //これもNGでした //parent.left_frame.document.forms['myform'].bt_del.disabled = true; } </SCRIPT> <html> <head> </head> <body> <p><input type="button" value="変更" onclick="func1()" > </body> </html> 以上です。

  • location.hrefを使用したFRAME表示

    location.hrefを使ったjavascriptを作ろうとしています。 <script type="text/javascript"><!-- location.href = "http://www.yahoo.co.jp/"; // --></script> の改良版として、http://www.yahoo.co.jp/をフレームの右側に 表示させたいと考えています。 (src使用ではなくjavascriptのlocation.hrefを使うことがMUSTです) <head> <script type="text/javascript"><!-- right.location.href = "http://www.yahoo.co.jp/"; // --></script> </head> <body> <FRAMESET cols="50%,50%"> <FRAME name="left" src="left.html"> <FRAME name="right" src="right.html"> </FRAMESET> </body> としてみましたがうまくいきません。 location.hrefはmetaタグ内でしか有効ではないにも関わらず right.の指示をメタタグ内部で指定していないことが原因かも しれません。 javascriptのlocation.hrefを使ってフレームの右側に 表示させる方法をご教授願います。

  • JavaScriptから別フレームのasp出力ドキュメントにアクセスできません。

    まず以下のソースをご覧ください。 [index.html] <html> <frameset cols=50%,*> <frame src="frame01.html"> <frame src="frame02.asp"> </frameset> </html> [frame01.html] <html> <head> <script type="text/javascript"> <!-- function insertText(){ parent.frames[1].document.myform.mytext.value = "テスト"; } // --> </script> </head> <body> <form> <input type="button" value="出力" onclick="insertText()"> </form> </body> </html> [frame02.aspにより出力されたソース内の記述] <html> <head> </head> <body> <form name="myform"> <input type="text" name="mytext"> </form> </body> </html> frames[0]のボタンを押すとframes[1]のテキストフォームに"テスト"が出力されるようにしています。 frame02.aspが静的なHTMLだった場合は問題なく動作するのですが、aspによって出力されたhtmlではエラーになってしまいます。 これはフォームに対する操作だけでなく、document.write()等のあらゆる操作に該当します。 当方はaspのことは全くわからず、またこのaspの中身を書き換える権限もありません。あくまで出力された結果に対して動的に操作を加えたいのです。 原因としては次のようなものを考えました。 ・aspドキュメントのパスに対してアクセス権限が無い。 ・aspもしくはCGIの実行によってもたらされたHTMLに対してはスクリプトは動作しない。 ・実際の出力結果のヘッダにはJavaScriptが記述されており、これが何らかの影響を及ぼしている。 ・事前にスクリプトから操作を受けないようにプロテクトされている。 ご助力を願えれば幸いです。

  • このJavaScriptは、いったいなんですか?

    突然以下のようなJavaScriptが画面に表示されるようになりました。 --------------------------------------------------------------- <script language="JavaScript" type="text/javascript"> var theDomain = document.domain; document.title = theDomain; </script> <frameset> <frame src="loader.html" name="oingo" id="oingo" frameborder="0" scrolling="Auto" marginwidth="" marginheight="0"> </frameset>"> --------------------------------------------------------------- ネットで検索してみたら、全く同じ内容のJavaScriptがヒットしたのですが、これが何なのかがわかりません。 どなたかよろしくお願いいたします。

  • フレーム分割のスクリプトについて

    画面を3つに分割し、top1,top2,top3を作成して、 top1のみ、右端のスクロールバーを無し(画面固定)にするには、どのようにすればよいのでしょうか? <html><head> <title>top</title> </head> <frameset rows="350,*"> <frame src="top1.html"name="top1"> <frameset cols="200,*"> <frame src="top2.html"> <frame src="top3.html"name="bottom"> </frameset> </html> 宜しくお願い致しますm(_ _)m

  • FireFoxでJavaScriptのエラーが出ます。

    現在JavaScriptを独学しはじめた者ですが、ご回答の方よろしくお願いいたします。 右側のフレームに文字又は数字を入れてクリックすると左側のフレームに反映されると言うスクリプトです。 IEでは問題なく動作しますがFireFoxだと動作しません。 親フレーム <frameset cols="20%,*"> <frame src="left.html" name="left"> <frame src="right.html" name="right"> </frameset> 左側のフレーム <input type="text" name="answer"> 右側のフレーム <form> <input type="text" name="question"> <input type="button" value="click" onclick="parent.left.answer.value=this.form.question.value"> </form> アドバイスよろしくお願いいたします。

  • HP作成初心者です。

    HP作成初心者です。 「alphaEDIT」を利用して、フレーム設定を行っているのですが、プレビューで確認すると フレームの枠しか表示されず、別に作成したページ内容が表示されません。 以下のHTMLですが、確認しても間違いがわかりません。 <html> <head> <title>EW</title> </head> <frameset rows="150,*"> <frame src="top.html" name="top"> <frameset cols="300,*"> <frame src="left.html" scrolling="yes" name="left"> <frame src="right.html" name="right" > </frameset> <noframes> <body> <p>このページはフレームを使用しています</p> </body> </noframes> </frameset> </html> どうすれば各ページ内容が表示されるか教えてください。 どうぞよろしくお願いします。

  • 直フレーム内ページにきた場合とトップからきた場合の「戻る」について

    以前「複数フレーム内リンク」でお世話になりました。今度も煮詰まってしまいました。 ・トップ→コーナー→末端ページという構成 ・「上部・左・メイン」の3つフレームを使用している状況です。 検索でフレーム内の末端ページに飛んできた人に「戻る」ボタンでコーナーのindexにフレーム有りの状態で表示したいのです。 只今、上記については作動できるのですが、逆にトップ→コーナー→末端ページと通常の流れできた人が、その「戻る」を押すと3つのフレームの中のメインフレームにまた3つのフレームが表示されてしまいます。 戻るに「target='_top'」や「target='_parent'」とつけてもいきません。といいますか、付け方がわかりません。 ソースは↓ <script language="JavaScript"> function framepage(filename) { document.open(); document.write("<frameset rows='80,*' frameborder='NO' marginwidth='0' marginheight='0' framespacing='0' border='0' target='_top'>"); document.write("<frame name='topFrame' src='上部.html' scrolling='NO' noresize>"); document.write("<frameset cols='152,*' frameborder='NO' marginwidth='0' marginheight='0' framespacing='0' border='0' target='_top'>"); document.write("<frame name='leftFrame' src='左.html' scrolling='NO' noresize>"); document.write("<frame name='main' src=" + filename + ">"); document.write("</frameset>"); document.write("</frameset>"); document.close(); } </script> bodyの方は↓ <a href="javascript:framepage('../index.html')">[戻る]</a> となっています。 どなたか宜しくお願いします!

  • JavaScriptでHTMLを表示させる方法

    cgiのチャットを使用しております。 古いチャットのため、フレーム対応となっています。 <frameset cols="83%,*"> <frame src="./form.htm" name="chat_form" marginwidth="10" marginheight="10" scrolling="auto"> <frame src="./rom.htm" name="chat_rom" marginwidth="10" marginheight="10" scrolling="auto"> </frameset> <frame src="./chat.htm" name="chat_main" marginwidth="10" marginheight="10" scrolling="auto"> <noframes> <BODY bgcolor="#FFFFFF" text="#666666"> <CENTER> <H2>このチャットはフレーム対応のブラウザでご利用ください</H2> </CENTER> </BODY> </noframes> </frameset> </html> これをフレームを無くすようにしたいのですが、CGIプログラムのため、修正は難しいのです。 JavaScriptでどのように表示できるのでしょうか?document.writeとか…調べても分からなかったのでした。 例 <div> <script type="text/javascript"> ???("○○.html"); </script> </div> 宜しくお願いします。