首页 > 教程福利线报 > 福利经验 >

金满仓进销存系统升级之路

小旋风分享 22243

会员:小旋风 分享

突然收到一个加好友的信息,添加之后,其问金满仓进销存能不能修改,现在的版本已经不能用了。

我查了一下官方资料,这是十多年前的一个系统,官方的网址都已经打不开了,客户提供了当时的系统源码,简单看了一下,里面有一个当时我给调试的插件,竟然有我的QQ信息,这样客户找上门来了。

简单配置了一下服务器,主要是装mssql有点麻烦,其他还好

金满仓进销存系统升级之路

打开一看,界面还是很简单的,但是除了左侧窗口能够点击之外,主窗口的内容都不能打开。

我这才明白客户为什么要升级了

只有在ie8兼容模式下才能打开窗口,但是窗口不是模态的,是那种硬生生的window.open方式打开的

正常浏览器都是打不开的

看了一下源码,其中的js文件中,模态打开的函数竟然使用的是:window.showModalDialog

金满仓进销存系统升级之路

showModalDialog 早就被淘汰了

于是重写打开窗口的函数,使用模态装口

              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;';

 

…………….

使用模态窗口,这样所有的弹窗都正常打开了

测试过程中,又发现,窗口打开没有问题,但是代码中很多地方使用了var otop = top.dialogArguments.document.form_table; 代码获取父窗口的表单对象

金满仓进销存系统升级之路

dialogArguments,现代浏览器也不支持了,如何实现层与父窗口的通信,又成了一个问题。

经研究发现,可以使用localStorage 设置本地存储与父窗口进行通信数据传递。

金满仓进销存系统升级之路 

于是,在子窗口把数据存储到设定的字段中,在父窗口遍历该字段,根据字段中的数据设定的类别做相应的处理。

至此,整个程序又被盘活了!

操作起来 很是丝滑!

金满仓进销存系统升级之路

金满仓进销存系统升级之路

相关推荐

热门图文

上一篇:音视频合并 使用FFmpeg 把音频对应的视频合并为一个视频的操作,可以批量处理

下一篇:返回列表