JS模態視窗返回值相容問題解決方案

2022-02-17 11:32:19 字數 759 閱讀 5077

1、開啟彈出視窗時把 window 作為第二個引數傳入。

var result = window.showmodaldialog(url, window, "dialogwidth=" + width + "px;dialogheight=" + height + "px;resizable:yes;")

if (typeof (result) == 'undefined')

return result;

2、在彈出視窗中,執行如下js,以接收傳入的window

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未詳細測試,應該問題不大。

ps1: chrome的模態彈出窗體比ie友好的多。

ps2:模態彈出窗體是一種很好理解和簡單的模式,使各頁面偶合不用太緊密,有利於頁面重用。

JS模態視窗返回值相容問題解決方案

因系統要相容原ie已使用的關閉方法,經除錯測得,需對window.dialogarguments進行再較驗,不然易出問題。function okend vals else window.returnvalue vals self.close 返回值接收的,只需在原有ie的接收模式下,多較驗一下ope...

el table各種樣式相容問題解決方案

1.邊框消失 被固定欄遮擋 上 下 左 右 2.調整邊距後問題 線條偏差錯位 標題與內容不對齊 右側固定欄多出內容 需要設定自適應寬度 3.操作欄按鈕高度不夠 行間距是padding 6px 0 按鈕內邊距是 7px 15px 設定高優先,以覆蓋內聯樣式 el table el table fixe...

Google 瀏覽器pdf列印相容問題解決方法

由於google 瀏覽器對中文支援不夠好,在列印pdf 的時候內建的pdf列印工具,列印出來的檔案字型不美觀,所以尋求一種方法,相容adodb pdf 列印。如果可以顯示卻沒有列印按鈕,是因為google瀏覽器自動啟用了內建的pdf reader。方法一 如果顯示為google瀏覽器內建的reade...