システムは元のIEで使用されているシャットダウン方法と互換性がある必要があるため、デバッグとテスト後、window.dialogargumentsを再度テストする必要があります。そうでなければ問題が発生する可能性があります。
function okend(vals){if(vals == null)vals = "true"; if(typeof(window.opener)== "undefined"){if(typeof(window.dialogarguments)!= "undefined"){if(window.dialogarguments && window.dialogarguments!= null){window.opener = windows.dialogargument; if(window.opener && window.opener!= null){window.opener.returnvalue = vals; }}}} else {if(window.opener && window.opener!= null){window.opener.returnvalue = vals; }} window.returnvalue = vals; self.close();}受け取った返品値については、次のように、元のIE受信モードで開幕戦を確認する必要があります。
// [部門関数]を選択する[setorganizetree2(){var url = "popup page"; var ret = window.showmodaldialog(url、window、 "dialogwidth = 400px; dialogheight = 500px; status = no; help = no; scroll = yes; resizable = yes;"); if(typeof(ret)== "undefined"){ret = window.returnValue; } if(ret){document.getElementById( "hiddeptCode2")。value = ret; document.getElementById( "btndeptCodeadd")。クリック(); } falseを返します。 }JSモーダルウィンドウリターン値の互換性の問題に対する完璧な解決策
1.ポップアップウィンドウを開くときは、2番目のパラメーターとしてウィンドウを渡します。
var result = window.showmodaldialog(url、window、 "dialogwidth =" + width + "px; dialogheight =" + height + "px; resizable:yes;")if(typeof(result)== 'undefined'){result = window.returnvalue; } return result;2。ポップアップウィンドウで、次のJSを実行して着信ウィンドウを受信します
if(typeof(window.opener)== 'undefined')window.opener = window.dialogarguments;
3。ポップアップウィンドウが閉じられる前に、次のJS割り当てに電話して値を返します
window.returevalue = vals; if(window.opener && window.opener!= null)window.opener.returnvalue = vals; window.close();
原則的な議論:
Chromeの下では、標準の方法では、ポップアップページが返されない場合に値を返すことができます。ポストバックがある場合、返品値を正常に返すことはできません。この方法は解決できます。
IEの下での標準的な方法、時には不明な理由で値を正しく返すことができず、この方法を解決できます。
FFは詳細にテストされていないため、大きな問題はないはずです。
上記のJSモーダルウィンドウリターン値の互換性の問題に対する完璧なソリューションは、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。