什么';在Electron中创建新浏览器窗口时,将节点集成设置为false的结果是什么?

什么';在Electron中创建新浏览器窗口时,将节点集成设置为false的结果是什么?,electron,Electron,为了让jQuery在我在Electron(以前的Atom Shell)中打开的HTML页面中正确加载和运行,我必须在我的main.js文件中创建BrowserWindow时禁用节点集成 有人能告诉我什么设置节点集成:false会阻止我执行如果我没有禁用它通常可以执行的操作吗?将节点集成设置为false将在渲染过程中禁用node.js-即,你的应用程序只能执行web浏览器将执行的操作。不要这样做,而是使用与Electron兼容并具有相同API的Zepto.js。感谢Paul的回答。不幸的是,我当时

为了让jQuery在我在Electron(以前的Atom Shell)中打开的HTML页面中正确加载和运行,我必须在我的
main.js
文件中创建
BrowserWindow
时禁用节点集成


有人能告诉我什么设置
节点集成:false
会阻止我执行如果我没有禁用它通常可以执行的操作吗?

将节点集成设置为false将在渲染过程中禁用node.js-即,你的应用程序只能执行web浏览器将执行的操作。不要这样做,而是使用与Electron兼容并具有相同API的Zepto.js。

感谢Paul的回答。不幸的是,我当时无法使用Zepto.js,因为Twitter引导程序与之不完全兼容(至少在v4之前是如此)。我认为您的回答是指在网页中执行类似于
var ipc=require('ipc')
的操作将不再适用于
节点集成:false
,对吗?对,所有涉及
require
的操作都是公开的。jQuery可能很容易进行修补以开始工作,我会这么做。这在Electron中很常见,JS开发人员习惯于“DOM或require”,而Electron是一个带有require的DOM环境,许多库都会感到困惑。不过,这通常是一个1-2行的修复。作为node和Electron的新手,我不确定“渲染器进程中的node.js”是什么意思,我在Electron文档中没有找到任何解释。您的意思是可用的电子模块,如模块
Electron
将不可用吗?在这种情况下,如何与主进程对话?如果加载任何动态内容或呈现任何用户提供的内容,这是非常糟糕的建议。在这些情况下,您肯定应该禁用节点集成,否则XSS漏洞将允许攻击者在您的计算机上执行几乎任何操作。@ericmayerus这意味着您可以导入
fs.readFileSync
,并从渲染器进程实际读取本地驱动器上的文件内容。那有多酷?但我也想知道性能的影响,是否有@PaulBetts?