http://nshipster.cn/ibinspectable-ibdesignable/ 我们来说说如何对某个控件进行圆角、描边处理: 初级 对于一个初学者来说,如果要进行某个控件的圆角、描边设置,就要从Storyboard关联出属性,然后再对属性进行代码处理。 如下代码: self.myButton.layer.cornerRadius = 20; self.myButton.layer.masksToBounds = YES; self.myButton.layer.borderWidth
从应用场景来看,类似于于Android的WebView,外部对嵌入页面的控制权较大,包括CSS/JS注入、资源拦截等,而嵌入页面对外部的影响很小,是个相对安全的沙盒,例如仅可以通过一些特定方式与外部通信(如Android的addJavascriptInterface())
我们知道开发Electron应用,难免要涉及到跨进程通信,以前Electron内置了remote模块,极大的简化了跨进程通信的开发工作,但这也带来了很多问题,具体的细节请参与我之前写的文章:
之前本来想不写这个功能的,结果客户死活要qq登录! 实在没办法就写了,顺便写个文章! 在写之前有两个问题: 1: 打开qq授权页面点击页面中的链接会又打开一个页面! ..... 2: 授权之后是否成功很难去判断
BrowserWindow模块是用于创建和管理图形用户界面的窗口。它提供了一种在桌面应用程序中创建原生窗口的方式,类似于浏览器中的窗口。
在Electron12时候被废弃,使用必须配置enableRemoteModule
在Electron中,进程通过开发人员定义的“通道”与ipcMain模块和ipcRenderer模块进行通信。这些通道是任意的(您可以任意命名它们)和双向的(您可以为两个模块使用相同的通道名称)。要从渲染进程向主进程发送单向IPC消息,可以再预渲染脚本preload.js里使用ipcRenderer发送API发送消息,然后在main.js里用ipcMain.on接收。你通常使用这个模式从你的web内容中调用一个主进程API。我们将通过创建一个简单的应用程序来演示这种模式,该应用程序可以通过编程方式更改窗口的标题。
当我们执行 electron . 命令后, Electron 会运行当前目录(.)下的 package.json 文件中 main 字段指定的文件。而运行该文件的进程既是主进程。
Electron作为一种基于JS语言搭建的桌面框架,其基础视图容器是包含了Chromium内核的窗口,称为BrowserWindow。对于更复杂的项目,如果需要在窗口内部嵌入第三方业务的页面,则有BrowserView、webView Tag和Iframe三种方案可供选择。
题图,由ACE Land 人工智能设计师赞助。 人这一辈子没法做太多的事情, 所以每一件都要做得精彩绝伦。 你的时间有限, 所以不要为别人而活。 不要被教条所限, 不要活在别人的观念里。 不要让别人的
存在 Node.js C++ add-on 相关的代码时,这一层导致应用程序奔溃的可能行极大,常见原因有:
https://www.slimjet.com/chrome/google-chrome-old-version.php
Electron 可以让你使用纯 JavaScript 调用丰富的原生(操作系统) APIs 来创造桌面应用。 你可以把它看作一个 Node. js 的变体,它专注于桌面应用而不是 Web 服务器端。
electron分主进程和渲染进程,渲染进程又分主窗口的渲染进程和子窗口的渲染进程
昨天给大家介绍了 ElectronEgg 这款开源桌面应用开发框架。那么我们能不能搭配使用Python语言开发一套自己的工具箱呢!
简单来说,Electron就是可以让你用Javascript、HTML、CSS来编写运行于Windows、macOS、Linux系统之上的桌面应用的库。本文的目的是通过使用Electron开发一个完整但简单的小应用:记事本,来体验一下这个神器的开发过程。本文犹如Hello World一样的存在,是个入门级笔记,但如果你之前从未接触过Electron,而又对它有兴趣,某想信这会是一篇值得一看的入门教程。 PS:这篇文章是基于Windows的开发过程,未对macOS、Linux作测试。
* 增加bool jsIsValidExecState(jsExecState es);接口
有句话叫做“有需求就有市场”,技术领域也同样是如此。在过往的前端领域之上,当面临需要涉及操作系统的时候,前端coder往往显得力不从心。这便是桌面应用的需求造就了 Electron 的到来。
在Electron中,主进程和渲染进程是两个不同的执行上下文。主进程运行在Node.js环境中,可以访问Node.js的API和原生操作系统功能。渲染进程则运行在浏览器环境中,具有访问DOM和Web API的能力,但默认情况下无法直接访问Node.js的API。如果一定要使用,需要修改配置。
从搭建开始 使用的是electron-vue 毕竟方便一点 如果只想安装electron 请参见我的另一个文章 https://segmentfault.com/a/11...
Web浏览器是非常复杂的应用程序。除了显示网页内容的主要功能外,它们还有许多次要的职责,比如管理多个窗口(或标签)和加载第三方扩展。 在早期,浏览器通常使用一个进程来实现所有这些功能。虽然这种模式意味着你打开的每个标签的开销更少,但它也意味着一个网站崩溃或挂起会影响整个浏览器。
我们来简单生成 dist 文件,根据 Ant Design of Angular 的介绍新建项目并打包即可。
请求报错:Refused to connect to 'http://127.0.0.1:8000/get?name=kv-grpc' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'connect-src' was not explicitly set, so 'default-src' is used as a fallback
在前一章中,我们为第一个Electron项目打下了基础,这是一个笔记应用程序,它从左窗格中取出Markdown,并在右窗格中将其呈现为HTML。我们设置了主进程并将其配置为生成一个呈现器。我们建立了package.json,安装了必要的依赖项,创建了主进程和呈现器进程,并布置了UI。我们还探索了使我们的应用程序看起来像桌面应用程序的方法,但是我们还没有添加一个传统web应用程序所不能做的功能。
每个版本都有废弃和移除的API,废弃的依旧可以用,所以这里只列一些常用的被移除的API及对应的替换方法。
2,修复webcontents::_send误发消息给所有窗口的问题。此问题在electron-ui里会导致一个窗口关闭引起进程退出的问题
手头上有个调试Echarts地图在ios端显示情况的任务,工作电脑是win10,因此在这里,找到了方法。
作为一个前端开发人员,你可能已经听说过Electron了,你知道VS Code是基于这个技术开发的。不但VS Code,
1.https://gitee.com/dmhsq/vue3-vite-electron
GYP是一种构建自动化工具。node程序中需要调用一些其他语言编写的 工具 甚至是dll,需要先编译一下,否则就会有跨平台的问题,例如在windows上运行的软件copy到mac上就不能用了,但是如果源码支持,编译一下,在mac上还是可以用的。node-gyp在较新的Node版本中都是自带的(平台相关),用来编译原生C++模块。
Electron中,与GUI相关的模块(如 dialog, menu 等)只存在于主进程,而不在渲染进程中
1,跟进神马搜索在加了ucbrowser的ua后打不开的问题,最后发现都是这样,包括chrome。所以不管了
1,完善electron的webcontents.getForceContents接口
没有使用electron内置的-webkit-app-region: drag 因为使用他那个有很多问题 比如事件无法使用 右键无法使用 以及不能使用手型等!
hello,好久不见,最近笔者花了几天时间入门Electron,然后做了一个非常简单的应用,本文就来给各位分享一下过程,Electron大佬请随意~
在 Electron 在实现渲染进程到主进程通信时,无论是单向通信还是双向通信都必须经过:编写处理函数(主进程)、注册事件监听(主进程)、暴露 API(预加载脚本)和执行 API(渲染进程)4 个步骤。其中除了编写处理函数和执行 API 两个与业务代码紧相关的步骤外,注册事件监听和暴露 API 均具有共性且需要重复编码的特点,这一特点又恰巧符合 AOP 切面编程中反射技术的应用场景,所以我选择使用 TypeScript 装饰器来实现这部分代码的优化。
窗口A的渲染进程发消息给主进程 const { clipboard, ipcRenderer, remote } = require('electron'); ipcRenderer.send('imgUploadMain', { id: dom.id, siteId: this.siteId, url: dom.src }); 主进程收到
1,把electron的消息、线程模式全改成自己实现,不依赖windows。然后搞定了之前的多年老bug。以前经常死锁,卡死。
本文讲述如何使用WebKit引擎浏览基于HTTP的HTML页面,并解析HTML和CSS渲染页面。同时介绍了WebKit内部各个组件的调用流程,包括WebView、WebCore、WebRender、WebGPU等组件。同时介绍了WebKit的渲染流程,包括解析HTML、CSS、JavaScript,以及绘制、页面布局、样式计算等。此外还介绍了WebKit的调试工具,包括Safari、Chrome、IE等浏览器中的开发者工具,以及使用命令行工具进行调试的方法。
先抛个问题,众所周知,Sketch 是 UED 设计工具,大多数 Sketch 插件都是用于提升设计人员工作效率。那么,作为前端研发的我们为什么要学习 Sketch 插件开发呢?
通过前面的学习,我们知道在Electron中,主进程和渲染进程是被换分成不同的功能的,主进程有完整的Node环境,而渲染进程默认是运行的是浏览器环境。这样划分的好处是:
sketch是一款轻量、易用的矢量设计工具。尽管如此,在使用过程中有些功能还是未能满足,亦或者在设计或开发流程中有些工作还略显繁琐,所幸sketch有提供API供我们开发一些插件来解决使用过程中遇到的问题。本着能用工具解决就用工具解决的懒癌患者原则,我们这个课程就来学习如何开发sketch 插件。
前言 对于一个 URL 来说,其实就是指定了一个协议(protocol),然后让系统用对应的应用去打开它。如 myapp://openapp?name=1&pwd=2,系统会去找到已经注册了 myap
Atom、Postman、Notion、Vscode等都是用Electron开发的
本文结合工程化实践,系统介绍要实现一个生产级别的 Sketch 插件所需要的技术知识和解决方案,并以一个真实的业务场景为案例,从0到1来实现一个生产级别的插件开发。 从 Sketch 插件开发的机制,自动打包更新工程化、Sketch 中 Objective-C 的运行机制等方面,分享开发一个生产级插件所需的技术储备。 最终开发一个如下图所示的 MVP插件将文章中讲到的知识串联起来,学以致用,加深对 Sketch 插件开发的理解。 在开发前,为了使开发调试更顺畅,需要做一点配置工作。 一、开发环境配置 崩溃
不过我的时间大都花在了看 Electron 的文档和下载环境上,Electron 还有一些 npm 包因为网络问题半天没下好;文档说实话没咋看明白,不知道是中文翻译的问题还是我的问题,我照猫画虎才把菜单栏取消掉。
参考链接:http://www.runoob.com/nodejs/nodejs-install-setup.html
vue引入electron的ipcRenderer等其它模块会出现这种情况 解决方案 自定义事件 使用渲染进程捕捉
很多使用 Electron 开发的程序关闭了所有的安全措施,但是仍旧没有被攻击,因为很多攻击的前提是存在 XSS ,有了 XSS 就如鱼得水,因此很多问题就被掩盖了
领取专属 10元无门槛券
手把手带您无忧上云