首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自己动手用electron+vue开发博客园文章编辑器客户端【一】

工程简述 他src目录下,有两个子目录,一个是main;一个是renderer 之所以这样分目录,跟electron的工作原理有关系 electron与nwjs不同, nwjs把nodejs的v8和chrome...js文件 在js文件打开一个窗口,让这个窗口加载指定的画面 functioncreateWindow () {     mainWindow = newBrowserWindow({         ...,并加载了一个路径 app和窗口都是通过下面的代码得来的: import{ app, BrowserWindow } from 'electron' 路径是通过下面的代码得来的: constwinURL...`http://localhost:9080`:     `file://${__dirname}/index.html` electron允许打开子窗口,也允许开标签页 在苹果端,当所有窗口都关闭后...nwjs的一些功能,比如说格盘,因为毕竟我们加载的页面不是我们自己提供的,要为我们用户的安全着想; nwfaketop: 如果没有这个,在iframe页面调用window.top,就能访问到我们的页面的

3.5K30

C++ Qt开发:MdiArea窗体组件

QMdiArea(Multiple Document Interface Area)是Qt中用于创建文档界面的组件。...; 接着我们需要以此对上述菜单绑定一个唯一的名称及文本,这个过程可以通过代码实现,也可以通过图形化配置,如下图我们直接通过图形化模式增加其功能; 1.1 初始化控件 如下代码,使用QMdiArea创建文档界面的...这段代码片段展示了一个使用QMdiArea创建文档界面的窗口类的基本结构和初始化设置。在这个窗口中,用户可以打开和管理多个子窗口,每个子窗口可以包含一个独立的文档。...(QMdiArea::SubWindowView) 这是文档界面的默认模式,允许用户在主窗口内同时打开多个子窗口,每个子窗口可以包含一个独立的文档或视图。...级联模式和平铺模式 这两种模式是在标签页页显示模式下的两种特定排列方式。 级联模式(Cascade): 子窗口以重叠的方式显示,类似级联排列的效果,方便用户查看和操作每个子窗口

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Testbench编写指南(3)模块化工程的仿真方法

    加入第N个子模块 模块联合仿真 1....Vivado对模块、文件的仿真提供了很好的特性支持。上面有多个testbench文件,分别对不同的模块进行仿真。...使用Quartus+ModelSim也可以达到上面的效果。   仿真文件的管理在Quartus主界面的Assignments菜单->Settings窗口中,如下图所示: ?   ...在Compile test bench的下拉菜单选择指定的一个testbench,调用ModelSim仿真时会读取相应的文件。   ModelSim仿真过程中也可以观察到顶层模块内部子模块的信号。...在sim-Default窗口下可以看到顶层模块和子模块之间的实例化信息,选中相应的子模块,在Objects窗口(如果没有则在ModelSim主界面的View菜单中选中打开)下会显示出该子模块的相关信号。

    3.4K20

    【漫游Github】无编译无服务器,实现浏览器的 CommonJS 模块化

    本期要介绍的仓库叫 one-click.js[1] 。 1. one-click.js 是什么 one-click.js[2] 是个很有意思的库。Github 是这么介绍它的: ?.../divide.js'); console.log(minus(12, add(1, 2))); 复制代码 例如上面的 main.js,我们可以提供一个类似下面的 require 方法: const recordedFieldAccessesByRequireCall...由于 iframe 天然的特性,每个子窗口都有自己的 window 对象,相互之间隔离,不会对主窗口进行污染,也不会相互污染。 下面仍然以加载 divide.js 模块为例。...parent.window 这样的方式实现主窗口与子窗口之间的“穿透”: •将子窗口的对象挂载到主窗口上;•同时支持子窗口调用窗口中方法的作用。...加载模块,并在 require 方法中收集模块依赖,直到没有新的依赖出现;3.收集完毕,此时就拿到了完整的依赖图;4.根据依赖图,“逆向”加载相应模块文件,使用 iframe 隔离作用域,同时注意将主窗口中的模块运行时传给各个子窗口

    96320

    一文搞懂Electron的四种视图容器和它们之间的IPC通信机制

    Electron作为一种基于JS语言搭建的桌面框架,其基础视图容器是包含了Chromium内核的窗口,称为BrowserWindow。...但如果请求次数,考虑到多窗口应用的性能问题,最好能够建立窗口窗口的直接通信。...在需要给业务窗口嵌入第三方子页面的时候,使用BrowserView可以保证子页面的独立性,避免影响到宿主页面的运行。...业务直接调用ipcApi.invoke或者ipcApi.send,就能执行到对应的方法// webview preload// 从url取出页面的业务类型(或者任意其他方式)const subBusinessType...我们把触发器也封装在baseApiHelper,并且用一个Map来维护,这是为了兼容一个子业务有多个实例的情况(当然实际业务场景下,这种情况应该不会很多,可以酌情简化)// 主进程class baseApiHelper

    10K75

    项目小结:日立OA系统(Asp.net)

    其中请求和解析js时会阻塞Dom树的构建(后来知道设置属性defer="defer",就不会阻塞了),后面的页面内容无法显示,而css就不会。 最终发现问题出现在浏览器加载、解释、渲染、呈现上。...3.压缩css文件和js文件,主要就是去空白行、缩写变量名;(注意:这里要分发布版和开发版,因为压缩后的css和js文件真的是无法维护的)   现在优化效果不大,没办法控件、页面体积大嘛!...孙页面部分:定义一个var parent = window.opener.parent对象,同上;             就是这样每个子、孙页面都有一个引用首页window的变量,从而操作首页的子、孙数组...名字要规定好,该项目就规定了5个,也就是说最多只能打开5个子窗口。      2.关闭系统时会先出现空白页面然后它又自动关闭。如果要关闭的窗口那也挺突兀的。...3.总结                                        第一节中主要是客户端方面的优化,服务端其实还有可优化的地方,因为测试了一下发现服务端也用了2秒,其中查数据就用了

    3.1K50

    js实现网页弹出窗口的代码详细教程

    这一句的作用是调用关闭窗口的代码,10秒钟后就自行关闭该窗口。)...【8、内包含的弹出窗口-一个页面两个窗口】 上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。 通过下面的例子,你可以在一个页面内完成上面的效果。...千万注意一个标签或少一个标签就会出现错误。记得用openwindow.document.close()结束啊。...比如你将上面的脚本放在一个需要频繁经过的页面(例如首页),那么每次刷新这个页面,窗口都会弹出一次,是不是非常烦人?:-(有解决的办法吗?yes! ;-) follow me....写到这里弹出窗口的制作和应用技巧基本上算是完成了,需要注意的是,js脚本中的的大小写最好前后保持一致。

    26.9K50

    vuex知识笔记,及与localStorage和sessionStorage的区别

    不管是重新打开新窗口还是重启,同一个浏览器上的相同域名下,localStorage的值一直在。...sessionStorage存储的值依赖于当前窗口(当前会话), 只要当前窗口不关闭,它存储的数据就一直在。一旦关闭窗口或者打开新窗口,sessionStorage之前存储的数据就会消失。...getter里面的属性,可以返回属性,也可以返回方法。...因此为了让模块具有更高的封装度和复用性,我们可以在每个子模块中添加namespaced: true属性,这样表示该模块成为了带命名空间的模块。...下面写一个示例代码:   新建三个js文件moduleA.js、moduleB.js、moduleStore.js,其中moduleA和moduleB分别为子模块。

    2.6K20

    Webpack实战-构建 Electron 应用

    ,这个事件会被触发 win.on('closed', () => { // 取消引用 window对象 win = null }) } // Electron 会在创建浏览器窗口调用这个函数.../index.css'; class App extends Component { // 在按钮被点击时 handleBtnClick() { // 新窗口对应的页面的 URI 地址...页面部分的代码已经修改完成,接下来修改构建方面的代码。...这里构建需要做到以下几点: 构建出2个可在浏览器运行的网页,分别对应2个窗口的界面; 由于在网页的 JavaScript代码可能会有调用 Node.js 原生模块或者 electron 模块,也就是输出的代码依赖这些模块...以上修改都完成后重新执行 Webpack 构建,对应的网页需要的代码都输出到了项目根目录下的 dist 目录

    1.3K20

    窗口创建问题 | Electron 安全

    ,因为它是在主进程中调用的。...如果指定空字符串("")或省略此参数,则会在目标浏览上下文中打开一个空白页 在 Electron 官网中对 url 参数并没有特别的描述,但是我们搞安全的肯定得测试一下,了解其风险 1) http(s...c窗口,即其父窗口,无法执行 Node.js 0x05 window.open 上下文情况 父窗口调用 window.open 创建子窗口时会返回一个指向新窗口对象的引用,父窗口可以通过这个引用直接访问子窗口的上下文... 此时我在非同源的这个子窗口的控制台执行 const same_origin_window = window.opener.open('./2.html'...Node.js ,危害不是很大 window.open 则不同,它打开或重用的窗口默认会继承父窗口的权限,也就是说如果从渲染进程调用 window.open ,恰巧渲染进程具备执行 Node.js 的能力

    48010

    vscode源码分析【八】加载第一个画面

    , workspacesToOpen, foldersToOpen, emptyToRestore, emptyToOpen, fileInputs, foldersToAdd); 在doOpen方法调用了...:this.openInBrowserWindow,并把这个窗口保存到usedWindows去了; (如果已经有打开的窗口,那么就用现成的窗口打开新的内容) usedWindows.push(this.openInBrowserWindow...configuration.extensionTestsPath }); CodeWindow的构造函数调用了createBrowserWindow方法,在这个方法创建了我们的Electron..._win.loadURL(this.getUrl(configuration)); 他们在getUrl方法做了一堆跟URL一点关系也没有的事情 比如说:设置窗口的缩放级别,设置全屏、设置窗口ID之类的...这个页面body并没有任何东西;只加载了一个js文件 后面我们再继续聊这个js文件的逻辑!

    97951

    Android中View绘制流程详细介绍

    通常具备以下两个特点: 独立绘制,不与其它界面相互影响; 不会触发其它界面的输入事件; 在Android系统中,窗口是独占一个Surface实例的显示区域,每个窗口的Surface由WindowManagerService...画好之后,通过SurfaceFlinger将块Surface按照特定的顺序(即Z-order)进行混合,而后输出到FrameBuffer中,这样用户界面就得以显示。...对每个子视图的measure()过程,是通过调用父类ViewGroup.java类的measureChildWithMargins()方法去实现,该方法内部只是简单地调用了View对象的measure...2、如果该View是个ViewGroup类型,需要遍历每个子视图chiildView,调用该子视图的layout()方法去设置它的坐标值。...dispatchDraw()方法内部会遍历每个子视图,调用drawChild()去重新回调每个子视图的draw()方法。

    65920

    SAO-UI-PLAN-控制面板企划

    把他们放进控制面板。相比起以前的按钮,新的控制面板中我准备通过新增一个自定义获取截图的API,获取对应页面的截图,就和友链一样,把原来的按钮换成类似友链卡片那样的预览卡片。...所以我准备再加个切换各种窗口的功能。从洪哥那里学到一个办法,通通个子项加一个透明的before伪类,保证它和切换按钮之间的藕断丝连,就能轻松通过hover来操作版块切换了。...能省下很多原本靠js调整onclick的代码量。当然要加音效的话,我现在也学会用eventListener了,不会再像以前那样写无数个audio和onclick事件再用延时函数调整音效触发时间了。...直接丢进控制面板。手机端直接切换查看。还能滚动查看呢。 目前比较头疼的就是性能问题。一堆版块都丢在控制面板。它的dom量肯定爆炸,当前的想法是做懒加载和挂载。...页面内容丢一个js,点了按钮才insert。这样dom都是点了才新增的。 如果每个窗口都是相同的倒是好办了,只要几个json就好了,可以直接靠json生成,但是很显然不是。

    1K30

    弹出窗口大全

    【2、经过设置后的弹出窗口】  下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。  我们来定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。 ...;  js脚本结束  【3、用函数控制弹出窗口】  下面是一个完整的代码。 ...这一句的作用是调用关闭窗口的代码,10秒钟后就自行关闭该窗口。) ...【8、内包含的弹出窗口-一个页面两个窗口】  上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。  通过下面的例子,你可以在一个页面内完成上面的效果。 ...比如你将上面的脚本放在一个需要频繁经过的页面(例如首页),那么每次刷新这个页面,窗口都会弹出一次,是不是非常烦人?:-(有解决的办法吗?Yes! ? Follow me.

    4.2K20

    小程序 Tip | 基础概述

    ,3个app开头的文件就是微信小程序框架的主描述文件,这3个文件不属于任何页面; pages目录下还有2个子目录——index、logs: 每个子目录中保存着一个页面的相关文件 ——...,扩展名的含义: js面的逻辑文件,负责编写JS代码控制页面逻辑,每个页面必须有这个文件。...其他文件 小程序开发中,除了上述文件外,一般还会用到图片、音视频、通用js模块等文件,这些文件可放置在项目中的任何位置,在调用时指定相对目录即可。 图片、音视频等资源类的文件也可以单独创建子目录存放。...配置文件详解 主配置文件app.json 主配置文件app.json位于项目主目录中,用来对项目进行全局配置, 对所有页面都适用; 包括配置每个页面文件的路径、窗口表现、设置网络超时时间、设置tab...index.json; 页面配置 比 主配置文件要 简单,因为在页面配置文件中,只能设置 app.json 中的 window配置项的内容(页面配置 会覆盖 主配置 的相同的属性内容),最终决定本页面的窗口表现

    92010

    万物皆可快速上手之Electron(第一弹)

    它结合了 Chromium、Node.js 和用于调用操作系统本地功能的 APIs(如打开文件窗口、通知、图标等)。 ? 上面这张图很好的说明了Electron的强大之处。...快速开始 前面说了那么废话,下面进入正题,带大家用五分钟(为什么是五分钟?我猜的 ? )的时间运行一个Electron的Hello World。...你应用的 package.json 看起来应该像: { "name": "hello-world", "version": "0.1.0", "main": "main.js" } 创建...在一个进程内部,要同时干件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread)。 主进程和渲染进程 ?...在 electron 中,页面不直接调用底层 APIs,而是通过主进程进行调用。所以如果你想在网页使用 GUI 操作,其对应的渲染进程必须与主进程进行通讯,请求主进程进行相关的 GUI 操作。

    1.4K10

    JavaScript学习笔记

    var add=function(参数列表){ 方法体和返回值; } //实例 var add3= function(m,n){ alert(m+n); } //调用 add3(5,6); 三:js的全局变量和局部变量...- 在方法外部调用这个变量会出错 【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。...不存在 **会调用最近的方法(面试题) (1)js里面不存在重载 (2)但是可以通过其他方法来模拟重载 arguments数组 十一.js的bom对象 ** broswer object model -...// li1 lastChild:最后一个子节点 //获取ul的最后一个子节点 //得到ul var ul1=document.getElementById("ulid"); var li4=ul1....ulid.insertBefore(li4,li3); } ** 不存在 insertAfter();方法 ** removeChild(); 删除节点 //删除li id="li3">333 //获取标签

    1.7K20
    领券