从Electron应用程序的外部站点加载div

时间:2018-09-24 08:16:52

标签: javascript electron

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>

它显示-什么都没有。空白分区。

1 个答案:

答案 0 :(得分:5)

您正在做的事情称为跨源请求:

  

Web应用程序请求其来源(域,协议和端口)与其自身来源不同的资源时,会发出跨域HTTP请求。

     

跨域请求的示例:的前端JavaScript代码   http://domain-a.com提供的Web应用程序使用XMLHttpRequest   要求http://api.domain-b.com/data.json

     

出于安全原因,浏览器限制跨域HTTP请求   从脚本内部启动。例如,XMLHttpRequest和   提取API遵循同源政策。这意味着一个网络   使用这些API的应用程序只能从   加载应用程序的来源相同,除非来自   另一个来源包括正确的CORS标头。

     

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

在Electron中,您可以在打开主窗口时禁用此安全性:

new BrowserWindow({
  ..
  webPreferences: {
    ..
    webSecurity: false
  }
});