以下是【小旋風(fēng)】分享的內(nèi)容全文:
突然收到一個加好友的信息,添加之后,其問金滿倉進銷存能不能修改,現(xiàn)在的版本已經(jīng)不能用了。
我查了一下官方資料,這是十多年前的一個系統(tǒng),官方的網(wǎng)址都已經(jīng)打不開了,客戶提供了當(dāng)時的系統(tǒng)源碼,簡單看了一下,里面有一個當(dāng)時我給調(diào)試的插件,竟然有我的QQ信息,這樣客戶找上門來了。
簡單配置了一下服務(wù)器,主要是裝mssql有點麻煩,其他還好

打開一看,界面還是很簡單的,但是除了左側(cè)窗口能夠點擊之外,主窗口的內(nèi)容都不能打開。
我這才明白客戶為什么要升級了
只有在ie8兼容模式下才能打開窗口,但是窗口不是模態(tài)的,是那種硬生生的window.open方式打開的
正常瀏覽器都是打不開的
看了一下源碼,其中的js文件中,模態(tài)打開的函數(shù)竟然使用的是:window.showModalDialog

showModalDialog 早就被淘汰了
于是重寫打開窗口的函數(shù),使用模態(tài)裝口
var overlay = document.createElement('div');
overlay.id = cname + 'modal-overlay';
overlay.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999;';
var dialog = document.createElement('div');
dialog.id = cname + 'modal-dialog';
dialog.style.cssText = 'position:fixed;background:white;border:1px solid #ccc;box-shadow:0 0 10px rgba(0,0,0,0.3);z-index:10000;';
…………….
使用模態(tài)窗口,這樣所有的彈窗都正常打開了
測試過程中,又發(fā)現(xiàn),窗口打開沒有問題,但是代碼中很多地方使用了var otop = top.dialogArguments.document.form_table; 代碼獲取父窗口的表單對象

dialogArguments,現(xiàn)代瀏覽器也不支持了,如何實現(xiàn)層與父窗口的通信,又成了一個問題。
經(jīng)研究發(fā)現(xiàn),可以使用localStorage 設(shè)置本地存儲與父窗口進行通信數(shù)據(jù)傳遞。
于是,在子窗口把數(shù)據(jù)存儲到設(shè)定的字段中,在父窗口遍歷該字段,根據(jù)字段中的數(shù)據(jù)設(shè)定的類別做相應(yīng)的處理。
至此,整個程序又被盤活了!
操作起來 很是絲滑!


1.軟件源碼推廣展示:目的展示軟件相關(guān)功能,接收技術(shù)學(xué)習(xí)者測試、測評;
2.教程課程信息展示:展示課程信息,傳授課程各階段內(nèi)容;
3.設(shè)計素材圖片展示:展示素材設(shè)計理念、思維方式、傳播設(shè)計理念;
4.福利優(yōu)惠信息展示:分享各類最新的福利信息,各種優(yōu)惠信息展示;
以上分享目的僅供學(xué)習(xí)、參考使用,請勿用于其他用途,如果想商業(yè)使用或者代理,請自行聯(lián)系版權(quán)方獲取授權(quán)。任何未獲取授權(quán)的商業(yè)使用與本站無關(guān),請自行承擔(dān)相應(yīng)責(zé)任。
本站不存儲任何資源文件,敬請周知!
如果您認為本頁信息內(nèi)容侵犯了您的相關(guān)權(quán)益(包含但不限于:著作權(quán)、首發(fā)權(quán)、隱私權(quán)等權(quán)利),或者您認為自己是此信息的權(quán)利人但是此信息不是自己發(fā)布的,可以直接版權(quán)舉報投訴,我們會根據(jù)網(wǎng)站注冊協(xié)議、資源分享協(xié)議等協(xié)議處理,以保護您的合法權(quán)益。
本網(wǎng)站采用 BY-NC-SA 協(xié)議進行授權(quán) 轉(zhuǎn)載請注明原文鏈接:金滿倉進銷存系統(tǒng)升級之路

侵權(quán)舉報/版權(quán)申訴



