WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:エラーダイアログへの対策

0:[投稿] sophia [2005/08/08 10:11 ][環境:IE6 javascript]

javascriptにて必要な情報を収集するWEB検索プログラムを組んでいるのですが読み込んだページが閉鎖されている場合などにエラーダイアログが立ち上がって処理がとまったままになります。
これを回避するためいろいろ試しているのですが妙案が浮かびません。どなたかご教授していただけないでしょうか。お願いします。

私は以下のようにプログラムを組んでいます。
これではエラー回避ができないのでしょうか。

window.onerror=new Function("return true");
get_page();
/*urlのデータはテキストファイルからCGIによって読み出ししてjavascript側にわたしてあります。*/
function get_page(){
 var i;
 for(var j=0;j<num;j++){
     var fnm = fname[j];
     i=j;
     open_window_name[i] = window.open(url[j],fnm,'width=600,height=1200');
 }
}


1:[回答] miz [2005/08/08 16:35 ]

try構文でエラーをcatchすれば、次の処理に移れると思います。

for(var j=0;j<num;j++){
  var fnm = fname[j];
  i=j;
  try{
  open_window_name[i] = window.open(url[j],fnm,'width=600,height=1200');
  catch(e){
    window.alert(e.toString());
  }
}


2:[回答] 神崎 [2005/08/08 22:12 ]

> mizさん

 try{
 open_window_name[i] = window.open(url[j],fnm,'width=600,height=1200');
 }catch(e){
   window.alert(e.toString());
 }


ですね。
}catch(e){
の部分の } が抜けています。


> sophiaさん
エラーダイアログの内容はどの様な内容なのでしょうか?

window.open("http://sonzai-sinai-domain.jp","test",'width=600,height=1200');
のような書き方で、存在しないドメイン名などを指定しても、ウインドウはエラーもなく開くことが出来ます。
(ウインドウの内容が、ドメインが見つからない旨のページとか、404 FileNotFoundなどの表示になるだけです)

> for(var j=0;j<num;j++){
この部分でnumが数値になってなくてforループの継続条件でエラーになっていませんか?


3:[回答] miz [2005/08/08 23:23 ]

>>2 神崎さん
> }catch(e){
> の部分の } が抜けています。
御指摘ありがとうございます。
ついコピー漏れしたようです。

そのうえ、問題の本質を見抜けていなかった。
お目汚し、失礼いたしました。m(_ _)m


4:[回答] sophia [2005/08/10 23:47 ]

神崎さん、mizさん。回答ありがとうございました。
エラー対策をこれから練っていこうと思っています。そこで思ったのですがエラーダイアログのボタンは自動で押せないものなのでしょうか。ボタン名が"subimt"だったらsubmit.click()でできますよね。興味本位に思ったので何がご存知でしたらご教授お願いします。


5:[回答] 神崎 [2005/08/11 22:05 ]

> エラーダイアログのボタンは自動で押せないものなのでしょうか。
できません。

try{}catch{}などでエラーを回避することで、
ダイアログそのものを表示させないようにすることは可能です。

フォームのボタンと、ダイアログのボタンは、(WINDOWS+IE等の場合)見た目は同じでも、
その目的や機能、その管理方法は、全く違います。
(わざわざ「〜の場合」と書いているのは、別のブラウザで表示すると、見た目も違うからです)

どちらかというと、エラーがあったときに無視させる作りよりも、
エラーを出さない作り方を目指す方が良いと思いますけどね。(難しいけど(^^;)


6:[回答] sophia [2005/08/18 03:47 ]

わかりました。丁寧な回答ありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World