javascript - Electron webview 正在阻止 http 图像

标签 javascript google-chrome electron mixed-content

我正在尝试加载要在 webview 上显示的 url ( http://twitch.tv/directory/following)。它曾经完美地显示我在谷歌浏览器中看到的内容。在此过程中的某个地方,它开始阻止页面中的图像,我一直收到错误

混合内容:“https://www.twitch.tv/directory/following”页面是通过 HTTPS 加载的,但请求的是不安全的图像“http://static-cdn.jtvnw.net/” ttv-boxart/Music-138x190.jpg'。此请求已被阻止;内容必须通过 HTTPS 提供。

对于每个试图加载的图像。我在 Chrome 中检查过这个,我收到了相同的消息,但被列为警告,因为图像仍然通过。我试图禁用 BrowserWindow 中的安全设置:

function createWindow () {
  // Create the browser window.
  mainWindow = new BrowserWindow({
    width: 1200,
    height: 800,
    'title-bar-style': 'hidden',
    frame : false,
    webPreferences : {
      webSecurity: false,
      allowDisplayingInsecureContent: true
    }
  });

但无济于事,因为它仍然挡住了图像。有任何想法吗?谢谢。

最佳答案

因为 webview 在 BrowserWindow 之外的另一个进程中运行,所以它有自己的安全性,因为它不是从 BrowserWindow 继承的。如果你想禁用它,你需要将 disablewebsecurity 添加到你的 webview 标签中。此处的文档中引用了它:http://electron.atom.io/docs/v0.36.8/api/web-view-tag/#disablewebsecurity

它应该是这样的:

<webview src="http://twitch.tv/directory/following" disablewebsecurity></webview>

我能够重现这个问题。当我添加 disablewebsecurity 时,错误变成了警告,就像您在使用 Chrome 时遇到的那样。

关于javascript - Electron webview 正在阻止 http 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35881362/

相关文章:

javascript - 为什么{}+{}在同一个浏览器下会有不同的结果

javascript - 每 2 个连续 float 元素添加中断(第 n 个 :child)

javascript - Chrome 中缓慢的 JavaScript 动画

ruby - Watir Webdriver 加载 Chrome 扩展

Electron-packager 不打包名称从 "@"开始的节点模块

javascript - PHP 解析 heredoc 中的 JavaScript 内容

javascript - 从选择范围中删除节点后,ExecCommand 在 Chrome 60 中无法正常工作

javascript - 获取Electron网络框架的CSS选择器

javascript - Electron/AngularJS - 从 showOpenDialog 动态加载视频文件

javascript - Knockout js -> 绑定(bind)到可编辑的 div 文本?