window.open('/app/dashbuilder.html?'...+ group.id, '_blank'); // 一般_self不会被拦截 // 改为 let newTab = window.open('about:blank', '_blank'); newTab.location.href
—— 杰普莉茨卡娅 有时我们需要在js中触发打开新标签页、或者是在当前页面跳转以及在iframe中替换父页面 使用window.open即可,关于它的参数,为以下四个: URL:需要打开的页面URL...window.open("https://vampireachao.gitee.io/") name:打开页面的方式或名称 // 新窗口打开,默认 window.open("https://vampireachao.gitee.io.../","_blank") // 父窗口打开,ifame中使用 window.open("https://vampireachao.gitee.io/","_parent") // 当前窗口中打开 window.open...("https://vampireachao.gitee.io/","_self") // 顶层窗口打开,iframe中使用 window.open("https://vampireachao.gitee.io.../","_top") specs:属性,不同属性用逗号隔开,key和value之间用等号 // 设置宽高 window.open("https://vampireachao.gitee.io/","_blank
Electron 版本管理 每个 Electron 版本对应的 NodeJS 版本如下 Electron 版本 NodeJS 版本 Electron 3.0 NodeJS 10.2.0 Electron...测试 在 iframe 中通过 window.open 打开页面进行执行 2.html <!...在默认配置中 测试点 是/否可以执行 NodeJS 预加载脚本 是 渲染页面 是 iframe 否 iframe + window.open 是 0x04 Electron 5.0 Electron...在默认配置中 测试点 是/否可以执行 NodeJS 预加载脚本 是 渲染页面 否 iframe 否 iframe + window.open 否 0x05 Electron 19.0 安装 NodeJS...sandbox: true预加载脚本还是可以加载并使用require('child_process') 这种模块 经过测试 iframe + window.open 的问题在 Electron 14.0.0
0x00 简介 大家好,今天和大家讨论的是新窗口创建问题,通常来说,我们打开一个 Electron 程序,映入我们眼帘的就是主窗口,基本上是通过 BrowserWindow创建的 如果我们点击某个功能...,突然在当前窗口之外跳出来一个窗口,那就是一个新窗口创建了 在 Electron 中,一个新窗口创建背后都意味着存在对应的管理操作,这种管理可能可以让窗口赋予非凡的权限,例如执行 Node.js 创建新窗口分为两种...) ,但 window.open 不仅仅是绕过安全限制那么简单,其实在 Electron 中 window.open 是可以配置安全策略的,也就是说有可能执行 Node.js 的 window.open...可以通过 file:// 远程加载 html https://github.com/electron/electron/issues/5151 比较早的版本中 window.open 出现过权限绕过的漏洞...pwd=af2g Github https://github.com/Just-Hack-For-Fun/Electron-Security
window.open("${base}/commolog/applyCis5ZZCAeport2?apNo=${(apNo)!}"...+'&localOCis='+0); window.open 可以直接打开互联网的网址,如百度,:window.open(www.baidu..com); 也可以通过上面的代码,打开一个url并携带参数到后台控制器...; 如要在window.open()打开的页面添加关闭按钮,这个按钮的jquery方法是: function winClose(){ window.close(); } 按钮: <button
toc 最近CloudKit Web端授权页面更新后中使用了CMD模块化的东西,因此会检查require是否存在,本意是存在的话就会按照CMD的方式加载js模块,但是Electron中默认通过require...来加载electron模块或者npm模块,这样问题就来了,Electron中的Cloudkit授权页面就会报错!...解决方案也简单,如果你的页面中不需要使用electron提供的node能力,自然解决方案就是启动主窗口时候禁用node能力即可,这样通过window.open()之后的窗口也会禁用。...//在mian.js中 const BrowserWindow = electron.BrowserWindow mainWindow = new BrowserWindow({ width:...//修改https://cdn.apple-cloudkit.com/ck/2/cloudkit.js中window.open方法第三个参数增加nodeIntegration=0 window.open
弹窗 window.open( ) , 它会打开一个指定URL 的新窗口。 浏览器会打开一个新的选项卡URL,而不是独立的窗口。...window.open (URL, name, features, replace) URL: 打开指定链接, 如果为空的话,则打开一个新窗口显示空白文档 name: 新窗口的名称。...,resizable=no,status=no,location=no,toolbar=no,menubar=no, width=600,height=300,left=100,top=100`; window.open...opener 只在弹出窗口的最外层 window 对象(top)中定义,而且指向调用 window.open() 方法的窗口或框架。
Electron .npmrc 安装electron依赖经常会不成功 在项目目录下创建.npmrc文件,设置镜像地址 npm config set strict-ssl false registry...=https://registry.npmmirror.com electron-mirror=https://registry.npmmirror.com/mirrors/electron/ 热更新/...热加载 方案一 安装:npm install electron-reloader --save-dev 在主进程 js 文件 try { require("electron-reloader")(module...再次运行npm run start,仅当index.js内容变化时,就会自动重新执行electron .来重启应用 菜单栏与边框 app.on("ready", () => { mainWindow...在 Electron 中,借助 Tray 模块实现。 //app 模块,控制整个应用程序的事件生命周期。 //BrowserWindow 模块,它创建和管理程序的窗口。
可以获取 Preload 变量的结果 经过测试,即使 sandbox设置为 true 也不影响 iframe + window.open 获取 Preload 变量的结果 Electron 5.0 总结...1 效果一致 方案 2 这里就不一样了,渲染进程仍然可以获取主进程变量/常量,而 iframe + window.open 这次就无法获取到 Preload 的内容了 Electron 29.3 总结...版本修复测试 按照上一篇文章,window.open 的问题是在 Electron 14.0 中修复的,所以我们再测试一下上下文隔离是不是也在 14.0 中解决的 确实在 14.0.0 中进行了修复...window.open sandbox 测试 上一节我们发现 window.open 似乎可以绕过 sandbox,而从 6.0 开始,sandbox 开启时,Preload 脚本就只能执行受限制的 NodeJS...如果我们选择一个 6.0 ~ 14.0 之间版本的 Electron, Preload 脚本将 require 绑定在 window 上,通过 iframe + window.open 会不会能绕过
执行electron:build会出现这个问题 是因为打包时会检测cache中是否有electron 包,如果没有的话会从github上拉去, 国内网络环境中拉取的过程大概率会失败 解决 在项目根目录新增....npmrc文件 写入 ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ 重新打包就没问题
,命令如下: cnpm install -g electron 5、输入命令: electron -v 查看electron版本,若出现版本号,表示安装成功; 6、输入命令: cnpm install...-g electron-packager 打包输出工具; 7、下载并安装electron客户端; 8、新建一个项目文件夹,自命名,例如:test1; 9、在 test1 中创建:pakage.json...、index.html、main.js 三个文件; 10、通过拖拽 test1 文件夹到 electron客户端,或者在cmd控制台中使用命令打开文件, F:\electron1\electron.exe... main.js: const electron = require('electron'); // Module to control application life....const { app} = electron; // Module to create native browser window. const { BrowserWindow} = electron
1.页面window.open命令 window.open (URL,name,specs,replace); 注: 参数名称 属性值 备注 URL 页面的URL 无 name 1)_blank - URL
其中 iframe_1.js require('child_process').exec('deepin-music'); 同时,我们再搭建一个 iframe + window.open...DOCTYPE html> iframe 2.html window.open...打开的窗口执行的 Node.js 代码执行失败了 iframe + window.open 在 Electron 14.0 之前版本是可以执行的 因此想要在 iframe 中执行 iframe ,需要...== undefined) { alert(window.iframe_open); } else { alert("iframe + window.open has got nothing...获取失败 iframe + window.open 在 Electron 14.0 之前版本是可以成功获取的 测试一下不同安全配置下,iframe 获取 preload 脚本中的内容的情况 经过测试,
不显示菜单栏 const electron = require('electron') /*获取electron窗体的菜单栏*/ const Menu = electron.Menu /*隐藏electron...首先我们看四种打开新页面的方式 _blank <span onclick="javascript:<em>window.open</em>...==-1){ <em>window.open</em>(e.url) } } } const will_navigate = (e) => { const protocol...e.url)).protocol; if (protocol === 'http:' || protocol === 'https:') { //<em>window.open</em>...==-1){ <em>window.open</em>(e.url) } } } const will_navigate = (e) => { const protocol
前言 electron-vue框架中,我们如何使用webworker,请看下文; worker-loader: https://v4.webpack.js.org/loaders/worker-loader
使用 electron-builder 打包 Electron 程序 [001] 前言 在将 Electron 代码开发完成后,如果想要投入生产环境,那就必须经过很关键的一步——打包。...今天就将 MacOS 上使用 electron-builder 打包 Electron 应用的过程做一个记录。...调试 Electron 主进程代码》中用到的 electron-quick-start 目录 打包步骤 1.安装 electron-builder mkdir electron-builde cd electron-builde...yarn init -y yarn add electron-builder -D 这里建议将 electron-builder 安装在单独的目录,方便复用。.../electron-builder/node_modules/.bin/electron-builder • electron-builder version=22.14.5 os=19.6.0
一个 Electron 应用有且只有一个主进程。并且创建窗口等所有系统事件都要在主进程中进行。...使用Electron的API Electron 在主进程和渲染进程中提供了大量 API 去帮助开发桌面应用程序, 在主进程和渲染进程中,可以通过require() 方法将其包含在模块中,以此获取 Electron...引入 electron: const electron = require('electron'); 所有 Electron 的 API 都被指派给一种进程类型。...Electron 中的窗口是使用 BrowserWindow 类型创建的一个实例, 它只能在主进程中使用,如下所示: const { BrowserWindow } = require('electron...这个帮助函数可以使你获得指向系统目录的文件路径,如用户的桌面、系统临时文件 等等 electron - vue https://simulatedgreg.gitbooks.io/electron-vue
背景 最近手头的 electron 项目需要做一个报告导出的功能,导出时要弹出个页面,可让用户自行补全相应的字段。...webview 简介 electron 的 webview 标签时基于 Chromium webview ,由于 Chromium 的架构变化巨大,会影响 electron webview 的稳定性,包括呈现...所以 electron 团队不建议使用 webview 标签。 注意:默认情况下,electron >= 5禁用 webview标签。...本篇属于 electron 初识,如有表述不当,望指出改正。...参考 1. electron文档 webview篇 2. electron webview加载远程preload方法 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
前言 Electron 可以让你使用纯 JavaScript 调用丰富的原生(操作系统) APIs 来创造桌面应用。...这不意味着 Electron 是某个图形用户界面(GUI)库的 JavaScript 版本。...起步 git clone https://github.com/electron/electron-quick-start cd electron-quick-start npm install npm...一个 Electron 应用总是有且只有一个主进程。 每个 Electron 中的 web 页面运行在它自己的渲染进程中。 主进程管理所有的web页面和它们对应的渲染进程。...分别有以下几种解决方案: 方式一: 使用 Electron 官方论坛提供的方法,改变require的写法。
# electron-packager 打包 命令说明: electron-packager location of project:项目所在路径 name of project:打包的项目名字 platform:...architecture:决定了使用 x86 还是 x64 还是两个架构都用 (x64,ia32) electron version:electron 的版本 optional options:可选选项...例: electron-packager ./ pandacode --platform=mas --arch=x64 --overwrite
领取专属 10元无门槛券
手把手带您无忧上云