イントラネット システムを作成しており、IE 7 を使用する必要があります。
IE7 には、window.returnValue = "some string" のようにモーダルで渡された値を返すことになっている "window.showmodaldialog" というメソッドがあります。
私のコードはindex.jspです
var result = window.showmodaldialog(url)
modal.jsp:
window.returnValue = "some string"
しかし、モーダルを閉じると、「結果」変数は常に未定義です。ドメインとプロトコルは同じです。そして window.opener は未定義です。
modal.jsp では、レガシー システムが更新とリダイレクトを行うため、その方法を維持する必要があります。これが問題ですか?もしそうなら、修正する方法はありますか?システムはソースを持っていない他のモデルを開くことができるため、window.returnValueを使い続ける必要があります。
編集: modal.jsp に関する詳細情報を追加:
var jsonReturn = {"one_tag": "some value", "id": "id"};
jsonReturn = JSON.stringify(jsonReturn);
window.returnValue = jsonReturn;
window.close();
一部の選択ボックスはフォームを modal.jsp に送信し、ページを更新します。