弹出层等框架页面直接使用原生桌面命令

资源信息 :

发布:2023-11-23 15:13:11  阅读:185

转载本资源必须注明出处,欢迎加入官群【445790831】

上传用户 :

资源归属:快码FOF编程

资源状态 :

资源状态:免费下载

资源好评 :

资源下载 :

快码FOF编程的头像

资源作者:【快码FOF编程】

个性签名:寒窗苦读十年一朝凤舞九天

部分时候,一些同学需要在框架层页面【例如:弹出层、选项卡】等页面中使用原生桌面命令,比如:数据库操作、文件操作等,这样的功能实现起来是比较繁琐的;更好的方案是直接打开多窗口

多窗口参考方案1:桌面端多窗口隐藏显示切换及关闭监听

多窗口参考方案2:桌面端多窗口案例

解说:因为多窗口是多进程模式,则每一个窗口之间都是独立的,所以可以随意使用原生桌面命令。

 

上面介绍了多窗口后,此时回到博客的主题上面来;有些同学说:我就头铁,我就想用选项卡和弹出层模式来操控原生桌面端命令!

当然也可以,只是实现起来会麻烦一些,下面教大家如何实现吧。

首先第一步,在项目配置器中开启【框架层NODE进程】属性

 

开启该属性后,就可以让弹出层、选项卡、框架页等子页面也能使用原生桌面端的命令。

但是重点来了;这个功能是electron的测试性命令之一,它有一个致命的缺点,那就是一旦启用后;框架页使用关闭命令就会导致整个窗口关闭!【原因是开启此选项后,框架页被视为与窗口一致的进程】

也就是说,大家使用:lay_弹出层.关闭()、或者使用浏览器基础库自带的:浏览器窗口.关闭()、又或者说使用选项卡的关闭,例如下图:

又或者说任何可能会用到"浏览器窗口.关闭()"的场景,都会导致当前窗口直接关闭!

大家是不是直接就懵了?那开启这个属性还怎么玩,不一样的属于间接性不能使用弹出层或者选项卡又或者框架标签么?毕竟总不可能只能打开,不能关闭吧?

这个时候又有一个新的办法解决该问题,那就是新增一个"窗口是否可关闭"的函数,该函数在窗口关闭前会触发,这个函数返回真窗口就可以关闭,否则返回假就不能关闭。

于是大家就可以在这里面做判断,比如弹出层打开后,就设置一个变量为假,然后以这个变量作为是否可关闭窗口的媒介。

例如:当打开弹出层后,这个变量为假;当关闭弹出层后;这个变量为真。

具体大家可下载本源码测试。


弹出层等框架页面直接使用原生桌面命令