TLDR:如何从Electron应用程序内的另一个URL显示#div。
我正在学习JavaScript,遇到了这个问题。我想从电子应用程序内的另一个网站加载特定的div。已经尝试过在线寻找解决方案并阅读文档,但是失败了。 我已经尝试过使用javascript:
$("#test_div-in_electron").load("https://some-website.com #test-div-on-webpage")
在index.html中带有脚本:
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
<script src="../app/resources/js/renderer_main.js"></script>
<script>if (window.module) module = window.module;</script>
它显示-什么都没有。空白分区。
答案 0 :(得分:5)
您正在做的事情称为跨源请求:
Web应用程序请求其来源(域,协议和端口)与其自身来源不同的资源时,会发出跨域HTTP请求。
跨域请求的示例:的前端JavaScript代码 http://domain-a.com提供的Web应用程序使用XMLHttpRequest 要求http://api.domain-b.com/data.json。
出于安全原因,浏览器限制跨域HTTP请求 从脚本内部启动。例如,XMLHttpRequest和 提取API遵循同源政策。这意味着一个网络 使用这些API的应用程序只能从 加载应用程序的来源相同,除非来自 另一个来源包括正确的CORS标头。
在Electron中,您可以在打开主窗口时禁用此安全性:
new BrowserWindow({
..
webPreferences: {
..
webSecurity: false
}
});