在 Electron 中使用本地资源的 iframe
iframe with local resource in Electron
我需要在我的 Electron 应用程序中渲染 iframe
:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<iframe sandbox='allow-scripts' src='frm.html'></iframe>
</body>
</html>
其中 frm.html
链接本地文件脚本 foo.js
这是我的 Electron 应用程序的一部分
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<script src="foo.js"></script>
</head>
<body>
<p>Inside iframe</p>
</body>
</html>
当我在 Electron 中 运行 应用程序时,我可以在 devtools 控制台中看到这个错误
Not allowed to load local resource: file:///C:/electron/app1/foo.js
Electron 中有这种情况吗?
这是 iframe 的安全功能。这是一个类似的问题,它讨论了将链接文件加载到 iframe 中:Displaying local htm file in iframe?。
话虽如此,您是否考虑过改用 webview 标签? http://electron.atom.io/docs/v0.30.0/api/web-view-tag/。 webview 标记与 iframe 非常相似,但让您能够更好地控制其周围的安全性。我测试了将本地文件加载到 webview 中的方式与您尝试将 frm.html 加载到 iframe 中的方式相同,并且它可以完美运行。
我需要在我的 Electron 应用程序中渲染 iframe
:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<iframe sandbox='allow-scripts' src='frm.html'></iframe>
</body>
</html>
其中 frm.html
链接本地文件脚本 foo.js
这是我的 Electron 应用程序的一部分
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<script src="foo.js"></script>
</head>
<body>
<p>Inside iframe</p>
</body>
</html>
当我在 Electron 中 运行 应用程序时,我可以在 devtools 控制台中看到这个错误
Not allowed to load local resource: file:///C:/electron/app1/foo.js
Electron 中有这种情况吗?
这是 iframe 的安全功能。这是一个类似的问题,它讨论了将链接文件加载到 iframe 中:Displaying local htm file in iframe?。
话虽如此,您是否考虑过改用 webview 标签? http://electron.atom.io/docs/v0.30.0/api/web-view-tag/。 webview 标记与 iframe 非常相似,但让您能够更好地控制其周围的安全性。我测试了将本地文件加载到 webview 中的方式与您尝试将 frm.html 加载到 iframe 中的方式相同,并且它可以完美运行。