IE6のブラウザでページでエラーが発生しましたとjavascriptのエラーがでます

このQ&Aのポイント
  • IE6のブラウザでページでエラーが発生し、javascriptのエラーが表示される問題が発生しています。
  • エラーは最初にブックマークからページに入った場合には表示されず、他のページから戻ってきた場合にのみ発生します。
  • このエラーは他のブラウザでは問題ないが、IE6では発生する可能性があります。解決方法を教えてください。
回答を見る
  • ベストアンサー

IE6のブラウザでページでエラーが発生しましたとjavascriptのエラーがでます。

ホームページを作ってみたのですが、ページを開くとIE6のブラウザで左下にページでエラーが発生しましたとjavascriptのエラーだと思いますがエラー表示がでます。 エラーがでるタイミングが、1番最初にブックマークからそのページに入っていくとエラー表示は出ないのですが、他のページにいって、それから戻ってくるとページでエラーが発生しましたという状況です。 特に、動きには、今のところ問題ないのですが、他のブラウザで見たら見れないことがあるというエラーなのでしょうか? どうしたら、このエラー表示をなくすことができるのでしょうか? javascriptについては、ドリームウィーバーのCSSサンプルのメニュー表示に使うjavascriptと、忍者ツールのアクセスカウンターと、更新日を表示させるjavascriptと、HP開設から何日たったかを表示するjavascriptを使っています。 OSはWindowsXPです。宜しくお願いします。

noname#30387
noname#30387

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

返事が遅くなってすみません。 一応なぜエラーになるかはわかりました。 多分、ページの読み込みが完了していない時期にイベントが起こると、未定義の変数にアクセスすることになってエラーになるということだと思います。 これを回避する方法は色々あると思いますが、 例えば var LOADED = false; window.onload=function(){ LOADED=true;//読み込みが完了したらフラグ設定 } //menu methods function ehandler(event,theobj){ if(LOADED){//読み込みが完了している時だけ動作する for (var i=1; i<= theobj.numberofmenuitems; i++){ var shutdiv =eval( "menuitem"+i+".thediv"); shutdiv.style.visibility="hidden"; } theobj.thediv.style.visibility="visible"; } } function closesubnav(event){ if(LOADED){//読み込みが完了している時だけ動作する if ((event.clientY <48)||(event.clientY > 107)){ for (var i=1; i<= numofitems; i++){ var shutdiv =eval('menuitem'+i+'.thediv'); shutdiv.style.visibility='hidden'; } } } } とかすればいいと思います。

noname#30387
質問者

お礼

ご丁寧にありがとうございます。早速教えていただいた方法でやってみます。本当ににありがとうございます。 一応、一番最後に書いてある以下の部分をちょっと上のHTMLに書いてあげたらエラー回数は減りましたが、不規則に時々エラーが出ました。 <script type="text/javascript"> <!-- var menuitem1 = new menu(8,1,"hidden"); var menuitem2 = new menu(8,2,"hidden"); var menuitem3 = new menu(8,3,"hidden"); var menuitem4 = new menu(8,4,"hidden"); var menuitem5 = new menu(8,5,"hidden"); var menuitem6 = new menu(8,6,"hidden"); var menuitem7 = new menu(8,7,"hidden"); var menuitem8 = new menu(8,8,"hidden"); // --> </script>

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

>一番最後に書いてある以下の部分を この部分も本来は、window.onloadの部分で実行すべき部分ですね。 最後に書いてあるので、読み込みが終了する時ぐらいに実行されるというような動作になります。 もし、window.onloadに含めるなら var menuitem1; var menuitem2; var menuitem3; var menuitem4; var menuitem5; var menuitem6; var menuitem7; var menuitem8; window.onload=function(){ menuitem1 = new menu(8,1,"hidden"); menuitem2 = new menu(8,2,"hidden"); menuitem3 = new menu(8,3,"hidden"); menuitem4 = new menu(8,4,"hidden"); menuitem5 = new menu(8,5,"hidden"); menuitem6 = new menu(8,6,"hidden"); menuitem7 = new menu(8,7,"hidden"); menuitem8 = new menu(8,8,"hidden"); LOADED=true;//読み込みが完了したらフラグ設定 } のようにすればいいと思います。この場合、もとの部分は削除します。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>エラー:'menuitem'は宣言されていません の意味自体は、menuitemという変数にアクセスできないという意味です。 でも、該当の行 var shutdiv =eval('menuitem'+i+'.thediv'); では、+iされて、 menuitem1がないとかmenuitem1.thedivが無いとかのエラーになるべきで、 該当のエラーメッセージがでる理由がイマイチわかりませんです。 また、ページに戻ってきた時にエラーになるということで、 なんらかのイベントで、closesubnav( )が呼び出されるということなんでしょうけど、#1の補足のソースでは、closesubnavを呼び出している部分がありません。 呼び出されるタイミングが悪いということも考えられます。 いずれにしても、この部分だけでは、ちょっと判断できないので さらに追加のソースをアップしていただくか できたら、サイトのアドレスを教えていだだけませんか

noname#30387
質問者

補足

サイトのHPアドレスはhttp://www7a.biglobe.ne.jp/~lex/aqua/index.htmlです。最初は、このアドレスのページだけでエラーが出ているのだと思っていましたが、時々他のページでもエラーが出ます。なぜだかよく分かりませんが、出ないときもあります。全ページはサーバーにアップしていませんが、例えば、1番したの左にあるプライバシーポリシーに1回行き、ホームに戻ってくるとエラーが出ます。そこから他のページに行っても、時々エラーが出ます;忙しいかとは思いますが、宜しくお願いいたします。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

メニューのツール~インターネットオプションで スクリプトエラー毎に通知するにチェックを付けて デバッグを使用しないにチェックが付いていたらはずして見て下さい。 エラーがでる毎に、デバッグしますか? というようなメッセージがでますので、 デバッグする~スクリプトを選んで見て下さい。 するとエラーが有る行に→がついて表示されるはずなので、 その行を含めたスクリプトの固まりを補足で挙げて下さい。 そして、この行でエラーというようなコメントを付けて下さい。

noname#30387
質問者

補足

<script type="text/javascript"> <!-- var time = 3000; var numofitems = 8; //menu constructor function menu(allitems,thisitem,startstate){ callname= "gl"+thisitem; divname="subglobal"+thisitem; this.numberofmenuitems = 8; this.caller = document.getElementById(callname); this.thediv = document.getElementById(divname); this.thediv.style.visibility = startstate; } //menu methods function ehandler(event,theobj){ for (var i=1; i<= theobj.numberofmenuitems; i++){ var shutdiv =eval( "menuitem"+i+".thediv"); shutdiv.style.visibility="hidden"; } theobj.thediv.style.visibility="visible"; } function closesubnav(event){ if ((event.clientY <48)||(event.clientY > 107)){ for (var i=1; i<= numofitems; i++){ var shutdiv =eval('menuitem'+i+'.thediv'); ←この行でエラー shutdiv.style.visibility='hidden'; } } } // --> </script> エラー内容は文字:7 エラー:'menuitem'は宣言されていません。 コード:0   です。 htmlが <div id="globalLink"> <a href="index.html" id="gl1" class="glink" onmouseover="ehandler(event,menuitem1);">ホーム</a> <a href="AAA.html" id="gl2" class="glink" onmouseover="ehandler(event,menuitem2);">aaa</a> <a href="BBB.html" id="gl3" class="glink" onmouseover="ehandler(event,menuitem3);">bbb</a> <a href="CCC.html" id="gl4" class="glink" onmouseover="ehandler(event,menuitem4);">ccc</a> <a href="DDD.html" id="gl5" class="glink" onmouseover="ehandler(event,menuitem5);">ddd</a> <a href="EEE.html" id="gl6" class="glink" onmouseover="ehandler(event,menuitem6);">eee</a> <a href="FFF.html" id="gl7" class="glink" onmouseover="ehandler(event,menuitem7);">fff</a> <a href="GGG" id="gl8" class="glink" onmouseover="ehandler(event,menuitem8);">ggg</a> </div> でエラー内容は 文字:1 エラー:'menuitem'は宣言されていません。 コード:0   と表示されます。 これでよかったのでしょうか?よく分からなかったもので、回答するのみ時間がかかり申し訳ありませんでした。宜しくお願いいたします。

関連するQ&A

  • 「ページでエラーが発生しました」について

    ホームページ作製初心者です。HPビルダー(V9)でHPを作りました。プレビューでもサーバにもUPしてもブラウザで見ると画面左下に一度エラーマーク「!」で「ページが表示されました」と出るのですが、マウスポインタを動かすと「ページでエラーが発生しました」というエラーになります。ページ内にインラインフレームとロールオーバーがあります。他にマーキーを使っています。それ以外はJavaScriptなどは使ってません。特に画面上での動作には問題はありません。原因や対処の分かる方ご教授ください。(お客様のHPなのでページが掲載できません)

  • ieで「ページでエラーが発生しました」の対応

    ieで「ページでエラーが発生しました」の対応 現在、お客様向けのwebページを開発、運用しております。 トップページにおいて画面の左下に「ページでエラーが発生しました」と 出ます。 それまでは自身のpcにはie7を使用していて出力されていなかったのですが、ie8に アップロードしてから出力されるようになりました。 ツール→インターネットオプション→詳細設定で ブラウズ スクリプトエラーごとに 通知を表示する にチェックを入れて詳細を見てみると、 メッセージ: 'this.descs[...].innerHTML' は Null またはオブジェクトではありません。 ライン: 127 文字: 5 コード: 0 URI: http~~~.js ~~~はjavaスクリプトファイルへのパス  と出ます。 クライアントPCごとに「ページでエラーが発生しました」の表示が出ないようにするのは設定で 可能かと思いますが、javascriptを直して、エラー自体をなくすにはどうしたら良いでしょうか。 あと、このようなエラーに対して、ホームページ製作会社ではどのような対策がありますでしょうか? (例えば、ブラウザ、バージョンごとに表示させてエラーが発生したらコードを直すなど・・・) やはり、上記のエラー箇所を直せる位のjavascriptのある程度のスキルが必要でしょうか。 (ちなみにページはcmsを使って作成しています。) 技術的な事から、WEB製作会社としての対策についての質問まで及びましたが、 どうぞよろしくお願い致します。

  • 実行しましたが、ページでエラーが発生しました

    自分で作ったサイトを IE11やIE9で見た時は問題ないのですが、 IE8で見ると、 左下のバーに 「実行しましたが、ページでエラーが発生しました。」 と表示されます。 どこでどんなエラーが発生したのかわかる方法はありますか? JavaScriptはページ内に使ってます。

  • 「ページでエラーが発生しました。」と出る

    特定のHPで「ページでエラーが発生しました。」とブラウザの左下に出ます。 例えばネットバンクのログインの時や http://www.ebank.co.jp/ ソフトメーカーに質問等を送信するとき http://www.ulead.co.jp/tech/info/faq/etc012.htm などに小窓?が開かず進めません。 javascriptに関係しているのでしょうか? XP HE sp2 IE6です。

  • ページでエラーが発生しました

    ページの左下にページでエラーが発生しましたでてしまいます これはどうすれば正常になりますか?

  • 私のホームページで「実行しましたが、ページでエラーが発生しました。」がでる。

    個人でホームページを開設しているのですが、リンクを張っている文字やイメージの上からマウスカーソルを外に移動させると、画面の左下の部分に「実行しましたが、ページでエラーが発生しました。」というメッセージが表示されます。表示されるということを除けばなんの支障もないのですがあまりいい感じではありません。開設当初からこうなっていたのか最近なったのかもわかりません。 当方、素人で要領を得ませんがどなたかエラーメッセージを表示させなくする方法をご存知でしたらお教えください。 よろしくお願いいたします。

  • このページのスクリプトでエラーが発生しました

    Javaについてよくわからないのですが・・・ <SCRIPT language="JavaScript1.2" src="/../../cgi-bin/counter.cgi?pg=abc"></SCRIPT> というスクリプトがあります。 これはページのhtml文中に埋め込んでcounter.cgiを呼び出して何ページ見られたか、をカウントするためのスクリプトです。 これをIE6.0で見ると問題なくスクリプトエラーもなくみることができます。 しかしホームページビルダー11では毎回、「プレビュー」に切り替えるたびに このページのスクリプトでエラーが発生しました。 ライン2 文字 1 エラー  文字が正しくありません コード 0 このページのスクリプトを実行しつづけますか? というエラーが出てきます。 繰り返しますが、IEでこのページを直接開いた時にはこのようなエラーはでてきません。あくまでビルダーのプレビュー画面を開く度に毎回出てくるのです。ここで質問ですが 1なぜIE単体で見るとエラーはでないのにビルダーのプレビュー(IEを使用しています)ではエラーが出てくるのでしょうか? 2スクリプトを書き換えてみました。 <SCRIPT language="JavaScript1.2"> <!-- src="/../../cgi-bin/counter.cgi?pg=abc"// --> </SCRIPT> もしくは単純に <SCRIPT language="JavaScript1.2"> src="/../../cgi-bin/counter.cgi?pg=abc" </SCRIPT> この二つではエラーはでてきません。しかしカウンターそのものが今度は動作しません。 この場合、カウンターを動かしてなおかつエラーを出さない文にするにはどうしたらよいのでしょうか。 なお、IEのインターネットオプションから「スクリプトエラー」の警告メッセージをうんぬんしてエラーを消す方法、といった回答は求めていません。よろしくお願いします。

  • Browse_Back enabled内でtoolbars.xmlを実行中、JavaScript エラーが発生しました

    ドリームウィーバーMX ウィンドウズ OS xp 「Browse_Back enabled内でtoolbarsを実行中、JavaScript エラーが発生しました」 のポップアップが 出続けて作業ができません。 どうやっても出てきます。 どうすれば解決できますか?

  • JavaScriptが見れるようにするには?

    IEからJavaScriptを開こうとすると、何も開かず、ページの左下辺りに「ページでエラーが発生しました」と表示されるだけで、何も表示されません。 ツール→インターネットオプション→セキュリティからアクティブプラグインは有効にしています。 どうすれば見れるようになるのでしょうか? 宜しくお願いします。

  • IEで「ページでエラーが発生しました」が表示される

    IE6で「ページでエラーが発生しました」を表示し、所定のサイトにアクセスできません。 ブラウザ:IE6 OS:windowsXP(SP1)