gpt4 book ai didi

node.js - Electron iframe : require is not defined

转载 作者:太空宇宙 更新时间:2023-11-03 22:26:40 24 4
gpt4 key购买 nike

我想在我的 Electron 应用程序中嵌入一个 HTML 文件。我选择使用 iframe,但是 - 当我这样做时 - 似乎我不能再使用 node.js。任何使用 require("electron") 的尝试都将表明 require 未定义。有什么想法吗?

提前致谢!

  • 斯蒂恩

最佳答案

如果您不介意迟到,您可能应该使用 <webview> ,因为它可以让您对所需内容进行更细粒度的控制。但是,如果您确实需要使用 <iframe> ,你有两个选择:

  1. 使用parent.require(父级访问iframe父级,它应该是您的窗口)
  2. 在加载事件中,将父窗口的 require 复制到 iframe 中:
iframe.onload = function () {
const iframeWin = iframe.contentWindow
iframeWin.require = window.require
})

唯一的“缺点”是您包含的包将访问主窗口 DOM 而不是 iframe 的 DOM,这意味着 iframe 窗口全局变量都不存在,更重要的是,文档将访问窗口 DOM ( querySelector 和 getElemementBy 方法实际上不起作用)。这对您来说是否是一个问题取决于您如何组织代码,祝您好运

关于node.js - Electron iframe : require is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45255773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com