电子iframe:需求未定义

问题描述 投票:1回答:1

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

提前致谢!

  • 斯泰恩
node.js iframe electron require
1个回答
0
投票

如果你不介意迟到的答案,你应该使用<webview>,因为它可以让你对你需要的东西进行更精细的控制。但是,如果你真的需要使用<iframe>,你有两个选择:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.