我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

在前面的文章中,苏南大叔讲述了如何控制webview的新开窗口问题,链接见末尾。今天讲述的是BrowserWindow的新开窗口问题:webview是不能打开_blank页面,而BrowserWindow打开_blank或者window.open页面是可以的,但是尺寸是固定的,无法控制size

苏南大叔:electron 如何控制 BrowserWindow 的新开窗口尺寸? - electron-new-window
electron 如何控制 BrowserWindow 的新开窗口尺寸?(图4-1)

  • 殊途同归,webviewBrowserWindow都是通过拦截new-window事件来解决问题的。
  • 本文的基础代码,还是以前文章提到过的改造版的quick-start

代码片段

main主进程:

newsn.net:这里是【评论】可见内容

苏南大叔:electron 如何控制 BrowserWindow 的新开窗口尺寸? - 001
electron 如何控制 BrowserWindow 的新开窗口尺寸?(图4-2)

苏南大叔自定义了一个win_event函数,在这里拦截了new-window事件。同时,使用event.preventDefault(),来阻止默认行为(打开固定尺寸的窗口)。然后新建了一个BrowserWindow,利用它来控制新开窗口的尺寸,同时再次调用该函数,使得新开窗口中的新开窗口,也能够在控制拦截范围内。

苏南大叔:electron 如何控制 BrowserWindow 的新开窗口尺寸? - 002
electron 如何控制 BrowserWindow 的新开窗口尺寸?(图4-3)

效果截图

苏南大叔:electron 如何控制 BrowserWindow 的新开窗口尺寸? - 000
electron 如何控制 BrowserWindow 的新开窗口尺寸?(图4-4)

相关链接

webview的类似问题,请见这里:

小结

在苏南大叔这边理解着,对比普通的网页,browserwindow就是我们平时看到的正常网页窗口,而webview则相当于iframe。当然了,electron中,把好多网页概念都进行了重写。

更多苏南大叔带来的electron的精彩文章,请点击这里查看:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   electron