• 締切済み

JavaScriptがうごかないのはどうして?

こんにちは。 店のHPを作っています。 2つあるうちの一つに簡単な入場規制をかけようと、 「あなたは~ですか?」のポップアップ画面をつける事にしました。 知人のHP作成の仕事をしている人にJavaScriptを書いてもらって 設置して見たのですが,どうも上手く動作しないのです。 そのHPのトップ画面は2つのフレームに分割してあるのですが, 最初に間違えて「index.htm」につけるべきJavaScriptを その2つに分割されているフレームのひとつの方につけてしまったのですが、 そのときは動いたのです。 でもそうすると,その分割されたフレームの右側だけ変わってしまい それはいかんということで「index.htm」につけたのですが、 すると動作しなくなってしまったのです。 なのでタグは間違っていないはずなのですが, なにがおかしいのでしょう? トップページでそういう選択のポップアップ画面を出すなら 「index.htm」にJavaScriptをつければ良いはずですよね? それを作ってくれた知人も「どうしてかわからない」と言ってて。 わかる方よろしくお願いします。

みんなの回答

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.4

> フレーム設定のhtmlファイルに付けた、ということなのでしょうか? > だとしたら、動かないのは当然だと思います。  これはなぜでしょう?>ducklingさん  gooの無料HPを作って、そこに各HTMLをアップしましたので、参考URLからご確認ください。  各フレームが表示される前に確認ダイアログが開き、OKを選ぶと各フレームが、キャンセルを選ぶとend.htmlが表示されます。 (IE5.0 / NN4.7 確認済み)  もしこれが上記通りに表示されないとなると、JavaScriptの設定がおかしいのかもしれません。ツール>インターネットオプション>セキュリティ>レベルのカスタマイズ>スクリプトあたりの設定を確認してみて下さい。 (1度動いているということなので、問題はないと思うのですが)  もしちゃんと表示されたなら、ソースを表示して内容を確認してみてください。

参考URL:
http://users.goo.ne.jp/leaz/frametopjs/
  • duckling
  • ベストアンサー率47% (88/185)
回答No.3

フレームに分割されている画面の、 index.html に付けた、ということは、 フレーム設定のhtmlファイルに付けた、ということなのでしょうか? だとしたら、動かないのは当然だと思います。 解決法は色々ありますが、 そのサイト全てのコンテンツに入場制限をかけるのなら、 フレームではないページをindex.htmlにして、 パスワードが一致していた場合に、 フレームのページに飛ばしてはいかがでしょうか。 P.S こういう、「プログラムが動きません」という質問の場合、 動かないプログラムのサンプルを書いた方が 的確な答えを得られますよ。

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

 No.1で書いたHTML2つ(両方ともそのままでOKです)に、適当に書いたa.htmlとb.htmlを用意し、全てデスクトップに置いてindex.htmlを開けば目的の動作をすると思うのですが。。。 > 上手くできません  とありますが、もう1度上記の作業&操作を行って、どのように上手くいかないのか、なるべく細かく正確に書いてもらえますでしょうか? > JavaScriptが上手く作動しない原因で, > プログラム間違い以外にはありませんよね?  知人に作ってもらったというスクリプトが > 分割されているフレームのひとつの方につけてしまったのですが、そのときは動いたのです。 ということを考えると、プログラム間違い以外では考えにくいと思うのですが、一応使っているブラウザとバージョン及びOSも教えてもらえますか?  それからもう1点注意として、私がNo.1で書いたHTMLソースは、コピペして使わないでください。ソースを表示上見やすくするために、全角スペースを使用不可の場所に使っているため、エラーなどが出る場合があります。

narummi
質問者

補足

今やってみたけどやはりそのままちゃんと画面が出てしまいました。 いまは、先ず大元のフォルダの中に,いくつか又フォルダがありそこに入ってる ページと,フォルダには無いっていないページがありまして, 「index.htm」と,そのトップに使われているフレーム2つも同じ階層に おいてあります。 で、そこのindex.htmにJavaScriptをたして,それをアップするという作業をしました。 一番最初はこの時にindex.htmにJavaScriptを付けずに そのフレームの片方にJavaScriptを付けてしましました。 そのときはちゃんと動いたのです。 で、index.htmにつけなおすと動かなくなった。と。 普通にすぐトップページが開いてしますのです。 今は最初に書いてもらったのを手で打ちなおして, 同じ階層において(フレームはあるのを使いました)やってみると やはり普通に開いてしまいます。 Windows98で、IEを使ってます。 IEのヴァージョンは何処を見ていいのかわからないのであれですが, 最初に入ってたときそのままです。 なにか基本的なところで間違えてるのでしょうか?

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.1

こんな感じではどうでしょうか? [index.html]  <HTML><HEAD><SCRIPT language="JavaScript"><!--  if (! window.confirm("よろしいですか?")) {    location.replace("./end.html");  }  //--></SCRIPT></HEAD>  <FRAMESET COLS="20%,*">    <!-- この辺は任意の構成で -->    <FRAME SRC="a.html" NAME="a">    <FRAME SRC="b.html" NAME="b">  </FRAMESET>  </HTML> [end.html]  <HTML>  <BODY>  またどうぞ  </BODY>  </HTML> index.htmlのヘッダ部分が読まれると確認ウィンドウを開き、「いいえ」を選択するとend.htmlを読み直します。

narummi
質問者

補足

せっかく教えていただいたのに,上手くできません,,, なにがいけないんでしょう… JavaScriptが上手く作動しない原因で, プログラム間違い以外にはありませんよね? んー,もうちょっと頑張って見ます。

関連するQ&A

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

  • JavaScriptを埋め込むには?

    こんにちは。よろしくお願いします。 現在、JavaScriptの使用が禁止されているスペースで、HPを作成していますが どうしてもポップアップを使いたいので、JavaScriptの使用が可能なスペースで 画像をクリックするとリンク先にジャンプし、ポップアップが表示されるように作成しました。 そのURLを、JavaScript使用禁止のページの画像に埋め込んだところ 当たり前ですが、JavaScriptが埋め込まれた画像が表示され その画像をクリックしないと、リンク先ジャンプ&ポップアップ表示されません。 JavaScript禁止ページの画像クリック→リンク先ジャンプ&ポップアップとするには どのように作成すれば良いでしょうか? JavaScriptに関して、全くの初心者なもので、分かりづらい説明ですが どうぞ、よろしくお願いいたします。

  • JavaScriptのWindow.openで!

    JavaScriptのWindow.openで! お世話になってます。 JavaScriptのWindow.openについてお聞きします。 現在JavaScriptで・・・ リンクボタン押下→ポップアップ画面表示→再度リンクボタン押下  →再度ポップアップ画面表示(ポップアップ開きなおし) ということをしたいです。 IE6,7,8で対応する必要があるのですが、IE8でうまくいきません(泣) IE8では、ポップアップ画面を別プロセスで開くみたいで、 ポップアップがどんどん増えていってしまいます。 開くポップアップは一つにしたいのですが、対策がわかりません。 何か方法はないでしょうか? どなたかご教授ください。

  • javascript:subWinが開けません

    とあるHPのリンクをクリックすると新しい窓が開いて「ページが表示されました」と出るものの画面が真っ白なページが現れます。 カーソルをリンクに合わせると画面の左下に「javascript:subWin数字();」という文字が出ています。 アクティブスクリプトは有効にしていますし、ポップアップも解除して試してみましたが見れません。 どなたか助言いただけませんか?

  • 親ページをリロードしたい

    フレームセットで三分割されたページから、ポップアップ画面を開き、そのポップアップ画面のボタンを押したときに、フレームセットの画面の一つを/testpage.htmlという感じで呼び出したいのですが、こんなことは可能なのでしょうか?IE6です。

  • index.htmlからフレームページへリンク

    ビルダーでHPを作成中です。index.htmlから各ページにリンクを貼りたいのですが、上手くいきません。 ファイルは以下のように作成しています。 index以下の階層ページはフレームを使って表示させたいと思っています。 index.html topフォルダ(この中にtop.htmとmenu.htmフレーム名:menuとhome.htmフレーム名:homeとimagesフォルダ) newsフォルダ(この中にnews.htmとimagesフォルダ) といった感じです。 top.htmはリンクを貼るとmenu.htmとhome.htmが表示されますが、他はどのような作ればいいのでしょうか。必ず、menu.htmと他のページ(例えばnews.htm)が1つの画面に出るようにしたいです。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • 会社でFirefoxを使っているのですが、JavaScriptによるポ

    会社でFirefoxを使っているのですが、JavaScriptによるポップアップウィンドウが開きません。 オプションの「ポップアップウィンドウをブロックする」のチェックは外していますし、 「JavaScriptを有効にする」のチェックは入れています。 その他のJavaScriptは通常通り動作しています。 再インストールやバージョンダウンも試してみたのですが、解決しません。 何か直す方法は無いものでしょうか? よろしくお願いします。

  • JavaScriptで開いたウィンドウの制御

    JavaScriptのopenで開いたポップアップウィンドウですが、 任意のタイミングでアクティブウィンドウにする、という動作は実現可能なのでしょうか。 やりたいことのイメージとしては、定期的にAjaxで通信を行い、 あるデータが取得できたら、ポップアップウィンドウを最前面に表示させる感じです。 新しく開く、ではなく、既に開いているポップアップウィンドウを制御します。 あるいは、WindowsXPのタスクバー上でウィンドウのボタン?が点滅する振る舞いでも構いません。 要は、ポップアップウィンドウが画面上に見えていなくても、 何かイベントが起きたことをユーザが気付ける演出なら何でもOKです。 なお、音を鳴らすのはスピーカー音量次第なのでNGです。 ブラウザはIE限定で構いません。 ActiveXは想定していません。JavaScriptで実現したいです。 どなたか分かる方いましたら、よろしくお願いします。

  • Javascriptを使ってTOPページを毎日自動で変更したいのですが

    Javascriptを使って毎日自動的にTOPページを変更したいと思っています。 具体的にはindex001.htm~index031.htmというように1か月分のTOPページを作成しておいて、毎日0時になると自動的に次のindex***.htmのページに切り替わるようにしたいのです。 (見ている人がいちいちページの更新をしなくても0時になればリアルタイムにページが切り替わることが必須条件です) いくつかjavascriptを試して見ましたが更新をすればページが切り替わるものはありましたがリアルタイムで毎日自動的に切り替わるものはありませんでした。 どなたかぜひ教えて頂けます様お願い致します。

  • 1回のクリックで複数ページ表示

    お世話になってます。ビルダーで縦に3分割のHPを作っています。 index.html(全画面)→TOPで(3分割)になっており、 左フレームがmenu 真ん中フレームがmain 右フレームがsubmenuです。 アドバイスをいただきたいのは、menuのボタンを押すと真ん中と右側2箇所が同時に表示変更されて なおかつブラウザのバックボタンで1回で2箇所が戻れる連動方法です。 過去ログで同じ内容の質問があり↓を参考にして5.6時間やっていたのですが フレーム形式が違うのと、恥ずかしながら私の知識の浅さでわかりませんでした。 http://www.din.or.jp/~hagi3/JavaScript/JSTips/FrameCon.htm この方法がある事を知る前は、カテゴリ別のTOPページを作っていましたが それだと更新マークを複数ページの何箇所にも付けなければならず 3分割している意味が無いような気がするので、理解できるならこの方法で表示したいのです。 途方にくれてこんな時間になってしまいました・・・。 回答をいただいた時、内容について質問するかもしれませんがよろしくお願いいたします<m(__)m>

専門家に質問してみよう