モーダルウィンドウでモーダルウィンドウを開こうとしたときのJavascriptエラー
-
27-09-2019 - |
質問
アプリケーションは、asp.net2.0を使用するWindowsServer 2003ボックスで実行されており、IE固有のWebアプリです。 JavaScriptにある関数呼び出しからshowModalDialog(...)を使用してiframeでフォームを開くボタンがあります。
関数の例は次のとおりです: ジェネラコディセタグプレ
ホストフレームは、使用されている実際のフォームを含むaspxページを読み込んでいます。開いたフォームには、クリックするとフォームに変更されて送信するボタンがあります。ただし、フォームが送信される前に変更が行われなかった場合は、フォームに変更がなかったことを示す別のモーダルウィンドウがポップアップ表示されます。このモーダルウィンドウは、ボタンクリックイベントにJavaScriptを登録することで開きます。コードは次のとおりです(C#): ジェネラコディセタグプレ
ボタンがクリックされ、このダイアログを表示する必要がある場合、次のJavaScriptエラーが表示されます。
エラー:オブジェクトはこのプロパティまたはメソッドをサポートしていません
奇妙なことに、ローカルでアプリケーションにアクセスして試してみると、すべて正常に機能しますが、別のコンピューターからアクセスするとエラーが発生します。また、どのサーバー(すべてをWindows Server 2003でテストするためのサーバーが多数ある)によっては、別のコンピューターでもエラーが発生しない場合があります。これらのコンピューターは、同じ設定で同じバージョンのIEを使用して、同じソフトウェアバージョンを実行しています。どこかに設定の問題があると思う傾向がありますが、設定が同じであるとわかりにくいです。アプリの動作や使用するテクノロジーを実際に変更することはできません。
これを引き起こしている可能性があるものについて誰かが何か考えを持っていますか?
解決
問題は、クライアントマシンのIEのポップアップブロッカーにありました。モーダルウィンドウが別のモーダルウィンドウで開かれていたため、ポップアップブロッカーはそれを親の一部とは見なさず、ブロックする必要があると考えました。ポップアップブロッカーにサイトを追加した後、すべてが機能しました。
なんてばかげている!