• 締切済み

とても困ってます!!助けてください。JavaScript、同じファイル内に重ね重ね使うとエラー?

JavaScriptで、困っています。 親ウインドウのgifのボタンをクリックすると、 子ウインドウが開く仕様のHTMLページを作っています。 このソースが同じHTMLファイル内(同じファイルのソース)に 一度きり、または複数回、出てきます。 すると、一度きりしか、ソースとして書いていない方については 子ウインドウが開くのですが、 複数回、同様のソースがあるファイルについては 子ウインドウを開く動作(gifのボタンをクリック)をすると ”サーバが見つかりません”というエラーの表示がされた 子ウインドウが開いてしまいます。 JavaScriptは重ね重ね使ってはだめなんでしょうか? あるいは、記述に問題があるんでしょうか? どう書いたらいいのでしょうか? 月曜納品なので、実はとっても焦っています。 どうか教えてください。よろしくお願いいたします。

みんなの回答

回答No.2

こんばんわぁ、Blackwinglsです。 まずは情報の整理がてら、wbt01さんがやりたいと考えているであろうことを勝手ながら推理させていただきます(^^;) WebPage上に、7.files/hint.gif を初めとする複数の画像を配置して、それぞれの画像がクリックされた時に、../../swin/html/F-1.htm を別WINDOWで表示しつつ、元のWINDOWには、a href="file://Svr-digital/digital/shared/FP/010413_本体/html/ju1/Newwin.htm" 等、各画像にAタグで指定した別のWebPageを表示する。 って事でしょうか? 別WINDOWで表示するWebPageはどの画像をクリックしても、../../swin/html/F-1.htm でよろしいのでしょうか? 以上を踏まえまして以下のようにしてみました。 <html> <head> <SCRIPT language=JavaScript> <!-- function newwindow() { nwin = window.open("../../swin/html/F-1.htm","Newwindow","scrollbars=yes,resizable=1,width=300,height=200"); } //--> </SCRIPT> </head> <body> <A href="file://Svr-digital/digital/shared/FP/010413_本体/html/ju1/Newwin.htm"> <FONT size=-1> <IMG border=0 src="7.files/hint.gif" onclick="newwindow()"> </FONT> </A> <A href="file://Svr-digital/digital/shared/FP/010413_本体/html/ju1/F.doc"> <FONT size=-1> <IMG border=0 src="7.files/hint2.gif" onclick="newwindow()"> </FONT> </A> </body> </html> 7.files/hint.gif の画像がクリックされた時、../../swin/html/F-1.htm が別WINDOWで表示され、元のWINDOWには、file://Svr-digital/digital/shared/FP/010413_本体/html/ju1/Newwin.htm が表示されます。 7.files/hint2.gif の画像がクリックされた時、別WINDOWには、../../swin/html/F-1.htm が別WINDOWで表示され、元のWINDOWには、file://Svr-digital/digital/shared/FP/010413_本体/html/ju1/F.doc が表示されます。 なお、動作確認はしておりませんのであしからず(^^;) > そのほかにも、同様に異なったコマンドを実行させたい、JavaScriptのタグが入ります。 同様に異なった処理を関数化して、その処理を行ないたいタイミングのイベントでその関数を呼び出すようにすれば問題はありません。 ところで気になる点を幾つか上げておきます。 1、Svr-digital/digital/shared/FP/010413_本体/html/ju1/Newwin.htm 等のようにディレクトリ名やファイル名に全角文字を使用するとサーバーの仕様によってはエラーが出る事があります。(ちゅ~か殆どのサーバーでエラーがでます) 2、file://Svr-digital/digital/shared/FP/010413_本体/html/ju1/Newwin.htm のように最初に、file:// が付いている場合は、ローカルへのリンクを意味します。 要するに、wbt01さんのパソコンの中にあるファイルへのリンクとなりますので、そのファイルを表示できるのはwbt01さんの環境でのみとなり、インターネットでWebサイトにアクセスしてきた人にはページが表示されません。Webサイトへアップする前に相対パスで指定しなおしましょう。 3、file://Svr-digital/digital/shared/FP/010413_本体/html/ju1/F.doc とありますが、F.doc はフラウザで表示可能なファイルになっていますか? 4、開始タグと閉じタグがキチンとしていないとブラウザによってはキチンと表示されません。特にNN系は表示されないようです。 一度タグの整理をお勧めします。 ではでは(^.^)/~~~

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

こんばんわぁ、Blackwinglsです。 > JavaScriptは重ね重ね使ってはだめなんでしょうか? 別にそんなことはないと思います。 が、同じような処理を繰り返す場合は関数にして書くのが普通な処理だと思います。 > あるいは、記述に問題があるんでしょうか? 恐らく、そうではないかと思います。 詳しい事はソースを見ない事にはなんともコメント出来ませんが・・・・・(^^;) では、(^.^)/~~~

wbt01
質問者

補足

回答頂いてありがとうございます。 ちなみにソースはこんな風になってます。 IBMホームページビルダーで最初にファイルを作っていたため、 不要なタグが入っています;;; そこに、JavaScriptのソースを貼り込みました。 ――― 以下ソース  <!--★ここから、ヒント-1 --> <SCRIPT language=JavaScript> function newwindow() { nwin = window.open("../../swin/html/F-1.htm", "Newwindow","scrollbars=yes,resizable=1,width=300,height=200"); return false; } </SCRIPT> </HEAD> <BODY></FONT></A><A href="file://Svr-digital/digital/shared/FP/010413_本体/html/ju1/Newwin.htm" onclick="return newwindow()"><FONT size=-1><IMG border=0 src="7.files/hint.gif"></FONT></A><A href="file://Svr-digital/digital/shared/FP/010413_本体/html/ju1/F.doc"><FONT size=-1><BR></FONT></A> </SPAN></FONT> <H1></H1> <!--★ここまで、ヒント-1 --> ――― 以上 このタグが間隔を置いてもう少し下にも同様に入ります。 そのほかにも、同様に異なったコマンドを実行させたい、 JavaScriptのタグが入ります。 素人の質問で申し訳ないですが、教えてください。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JavaScriptについて・・・

    中学生です。中学生になってJavaScriptを少しさわってみてるところです。質問なんですが、一回のボタンクリックで複数のサブウインドウを開きたいのですが、どうしたらいいでしょうか? ソースを教えてください。お願いします。

  • JavaScriptでボタンをクリックすると画像が変わる設定をするには?

    たとえば、1.gif - 2.gif , 3.gif - 4.gif,5.gif - 6.gif,7.gif - 8.gif,9.gif - 10.gif の画像をついにしてボタンとして利用するとします。 最初に表示されるボタンは 1.gif , 3.gif ,5.gif , 7.gif , 9.gif の5つです。 JavaScriptで1.gifボタンをクリックしたら、2.gifボタンに画像が変わり、 3.gifボタンをクリックしたら、4.gifボタンに画像が変わるように(残りの画像も同様)したいと 考えています。この時、1.gif , 3.gif ,5.gif , 7.gif , 9.gifのいずれかのボタンがクリックされた 時点で、直前に変更していた 2.gif , 4.gif ,6.gif , 8.gif , 10.gifのいずれかのボタンは最初のボタン の状態に戻したいと考えています。 どのようにJavaScriptを記述すると可能なのでしょうか。 1つのボタンをクリックすると別の画像に変わる方法は色々なHPを参考に↓の記述でなんとかできたのですが、 複数のボタンになるとどのように修正していけばうまくいくのかわかりません。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- imgnum=1; function changeImage(){ if(imgnum==1){ document.myimg.src="2.gif"; imgnum=2; }else if(imgnum==2){ document.myimg.src="1.gif"; imgnum=1; } } // --> </SCRIPT> </HEAD> <BODY> <CENTER> <A href="javascript:changeImage()"><IMG src="1.gif" name="myimg" border=0></A> </CENTER> </BODY> </HTML> 質問がややこしくてすみません。 方法をお分かりの方はどなたか教えてください。よろしくお願いします。

  • javascriptでのエラーについて

    Windows7+IE8にて以下の処理を行いたいのですが、 ================================================== (1) 親ウィンドウ(oya_window.html)から、【window.open】にて   子ウィンドウ(ko_window.html)を開く (2) 子ウィンドウ(ko_window.html)の【window.opener】にて   親ウィンドウ(oya_window.html)に定義されている   【window.open】を実行する関数[openWindow]を呼び出し、   Yahooページを開く ================================================== (2)の部分で以下のエラーとなり、Yahooページを開く事ができません。 --------------------------------------------------------- このWebページのエラーにより、正しく機能しない場合があります。 --------------------------------------------------------- タグが無効です。 oya_window.html   ライン:10 コード:0      文字:5 --------------------------------------------------------- 同マシン(Windows7)のfirefoxでは問題なく処理が行えるため、IEの 何らかの設定に起因していると思うのですが、IEの何の設定に起因して いるのかわからず、困っています。 何か情報をお持ちの方いらっしゃいましたら、よろしくお願いします。 【その他情報】 ○IEをアドオンなしで起動しても同エラーが発生することから、IEの  アドオンによる影響ではないと思われます。 ○以下の処理は問題なく実行できます。  ▼パターンA  ==================================================  (1) 親ウィンドウ(oya_window2.html)から、【window.open】にて    子ウィンドウ(ko_window2.html)を開く  (2) 子ウィンドウ(ko_window2.html)にて(元々親ウィンドウ    (oya_window.html)に定義していた)【window.open】を実行する    関数[openWindow]を呼び出し、Yahooページを開く  ==================================================  ▼パターンB  ==================================================  (1) 親ウィンドウ(oya_window3.html)から、【window.open】にて    子ウィンドウ(ko_window3.html)を開く  (2) 子ウィンドウ(ko_window3.html)の【window.opener】にて    親ウィンドウ(oya_window.html)に定義されている    【document.bgColor】を実行する関数[changeColor]を呼び出し    親ウィンドウの背景色を灰色に変更する  ================================================== 【ソース】 ▼本来のパターン ==親ウィンドウ(oya_window.html)=================== <HTML> <HEAD> <TITLE>親ウィンドウ </TITLE> <script language="Javascript"> function koopen(){ window.open("ko_window.html","ko_window","status=yes,width=800,height=100"); } function openWindow(){ window.open("http://yahoo.co.jp","",""); } </script> </HEAD> <BODY> <a href="JavaScript:koopen();">子ウインドウを開く</a> </BODY> </HTML> ================================================== ==子ウィンドウ(ko_window.html)=================== <HTML> <HEAD> <TITLE>子ウィンドウ </TITLE> <script language="Javascript"> function helpop(){ window.opener.openWindow(); } </script> </HEAD> <BODY> <a href = "JavaScript:helpop();">Yahooページを開く</a> </BODY> </HTML> ================================================== ▼パターンA ==親ウィンドウ(oya_window2.html)=================== <HTML> <HEAD> <TITLE>親ウィンドウ </TITLE> <script language="Javascript"> function koopen(){ window.open("ko_window2.html","ko_window","status=yes,width=800,height=100"); } </script> </HEAD> <BODY> <a href="JavaScript:koopen();">子ウインドウを開く</a> </BODY> </HTML> ================================================== ==子ウィンドウ(ko_window2.html)=================== <HTML> <HEAD> <TITLE>子ウィンドウ </TITLE> <script language="Javascript"> function helpop(){ window.opener.window.open("http://yahoo.co.jp","",""); } </script> </HEAD> <BODY> <a href = "JavaScript:helpop();">Yahooページを開く</a> </BODY> </HTML> ================================================== ▼パターンB ==親ウィンドウ(oya_window3.html)=================== <HTML> <HEAD> <TITLE>親ウィンドウ </TITLE> <script language="Javascript"> function koopen(){ window.open("ko_window3.html","ko_window","status=yes,width=800,height=100"); } function changeColor(){ document.bgColor="CCCCCC"; } </script> </HEAD> <BODY> <a href="JavaScript:koopen();">子ウインドウを開く</a> </BODY> </HTML> ================================================== ==子ウィンドウ(ko_window3.html)=================== <HTML> <HEAD> <TITLE>子ウィンドウ </TITLE> <script language="Javascript"> function helpop(){ window.opener.changeColor(); } </script> </HEAD> <BODY> <a href = "JavaScript:helpop();">親ウィンドウの色を変える</a> </BODY> </HTML> ==================================================

  • javascriptのopenerでエラー

    naritanと申します。 現在、ファイルのアップロード機能を作成しております。 親ウィンドウから子ウィンドウを開いて、開いた子ウィンドウでアップロードするファイルを選択し、ボタンを押下時にcgiを実行して実現しています。 そこで、子ウィンドウでボタンを押下した時に、選択したファイルの名前を親ウィンドウに表示したいと思い、ボタン押下時にまず、javascriptに処理を移し、openerメソッドを使用して実現しようとしているのですが、「アクセスが拒否されました」というjavascriptのエラーが表示されてしまいます。 記述は以下のようにしています。 -------------------------------------------------- window.opener.document.FORM1.file_nm.value = str2; -------------------------------------------------- ※str2:ファイル名保持変数 ※file_nm:親ウィンドウFORM1上のテキストボックス名 ちなみに親ウィンドウと子ウィンドウの拡張子は異なっているので、ためしに拡張子を合わせて実行してみたところ、ファイル名は親ウィンドウに表示されたのですが、cgiが動かなくなってしまいました。 ちなみに親ウィンドウはhtsファイル、子ウィンドウはhtmlファイルです。 お分かりになる方が見えましたら、ご教授願います。

  • JavaScriptで作成されるボタンの動作原理

    JavaScriptの読み方(phpも含む?) あるJavaScriptソースの読み方がわからないので質問させていただきました。 動作原理がわからないJavaScriptのソース <p class="al-c"><script type="text/javascript" src="http://xxxxxxxxx.php?ser=yyyyy&m=fakjlfafask"></script></p> このソースをHTMLに埋め込むとボタン(画像のボタンです)が表示される。 そのボタンをクリックするとJavaScriptで記述されたポップアップが表示されました。 srcのURLにてPHPのソースを呼んでいると思うのですが、これは、どのような仕組みで動作していると考えられるのでしょうか。 なぜなら、HTMLソースの中に「ボタンの画像自体」と「JavaScriptでクリックするイベント」も存在しないためです。 ちなみに、URLをそのままブラウザに打ち込むと「~.js」のダウンロードが開始されるような動作になりました。 最終的にはVBAでJavaScriptボタンをクリックしてポップアップを自動で表示させたいと思っておりますが、実現できますでしょうか? 以上、よろしくお願いいたします。

  • JAvaScriptの外部ファイルの記述について

    HTML内にJavaScriptの処理書くのが嫌で、外部ファイルにしてJavaScriptを読み込むようにしたのですが、このファイルに、実行したい処理を複数書いてしまうとHTMLで正しく処理されなくなるのは何故ですか?.jsファイルには処理は1つしか記述できないのでしょうか?CSSファイルみたいに1つのファイルに何個も処理を記述してHTMLに反映させるようにしたいのですが・・・。どなたにも質問できず困っています。どなたか教えて下さい。jsファイルには処理は1つしか記述できないものなのかどうか回答お願い申し上げます。

  • javascriptでテキストファイルを作成したい

    javascriptを勉強していて演算した結果をテキストファイルにして、その結果をテキストファイル内に書き込んで新しくデスクトップに作成するというプログラムを作りたいと考えています。 ですが、まずは以下の条件を満たすプログラムの内容を教えていただきたいと思います。 私はHTMLと同時にjavascriptを作っているのですがとりあえず、 ・「テキストファイルの作成」というボタンをHTML内に作ります。 ・そのボタンを押すとjavascriptのfunctionが動作し、「テキストの書き込みに成功しました」という内容が書かれたテキストファイルがデスクトップに新たに作成される。 というプログラムを知りたいです。 基礎的な原理だけを知りたいので上の条件を満たすプログラムを教えていただきたいと思います。 テキストファイルをデスクトップに作る方法と、作るテキストファイルにどのようにしてテキスト内容を書き込めばいいのか分かりません。 HTMLの部分がめんどくさければjavascriptの部分だけでも構いません。 よろしくお願いします。

  • 外部Javascript

    javascriptを外部ファイルに記述してXHTMLファイルで読み込む方法でWEBページを作成しています。あるページ内に作成したボタンをクリックすると新しいウィンドウが表示され、その新しいウィンドウ内に作成したボタンをクリックするとその新しいウィンドウが閉じるというスクリプトを組み込みたいのですが外部ファイルとXHTMLそれぞれの記述方法を教えてください! ちなみにページ内に作成したボタンをクリックし新しいウィンドウを表示し、その元のウィンドウ内に作成したボタンから新しいウィンドウが閉じるというスクリプトはできました。どうしても新しく表示したウィンドウ内に作成したボタンからウィンドウを閉じることができません! 詳しい方本当におねがいします。

  • Javascriptでテキストファイルを読み込む事ができるか?

    javascriptでテキストファイルを出力することは可能ですか?よろしかったら教えてください。 例えばブラウザーでHTMLで作ったボタンを押すとjavascriptのプログラムでその下あたりにテキストで保存したファイルを出力させるというやつです。説明不足ですが可能ならばサンプルプログラムを書いてくれるとうれしいです。

  • javascript voidについて

    ブログ上にて Aボタンをクリック ⇒ 新しいウインドウで指定サイトAへ接続 クリック後に 指定サイトBへのテキストリンクを表示 これを行うにはどうしたらいいでしょうか? javascript voidを使えばいいような感じで、ネット等で調べると 出てくるのですが、初心者のためわかりません。 HTMLの初歩くらいの知識なので、 分かりやすく教えて頂きたいです。 javascript void以外でも方法があればなんでもいいです。

人が集まる人とは?
このQ&Aのポイント
  • 人が集まる人とは、何もしなくても自然と人が寄ってくる魅力を持つ人のことです。
  • 一方、私は逆で、どんなに追い払ってもなぜか人が寄ってくるタイプの人間です。
  • このような人間はどのように生きるべきなのか、それによって疲労感や批判を受けることもあるため、悩みの種となります。
回答を見る

専門家に質問してみよう