电子webview阻止了http图像

时间:2016-03-09 01:35:13

标签: javascript google-chrome electron mixed-content

我正在尝试加载要在webview上显示的网址(http://twitch.tv/directory/following)。它曾用于显示我在Google Chrome中看到的完美镜像。在某个地方,它开始阻止页面中的图像,我一直在收到错误

Mixed Content: The page at 'https://www.twitch.tv/directory/following' was loaded over HTTPS, but requested an insecure image 'http://static-cdn.jtvnw.net/ttv-boxart/Music-138x190.jpg'. This request has been blocked; the content must be served over 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
    }
  });

但无济于事,因为它仍会阻挡图像。有任何想法吗?感谢。

1 个答案:

答案 0 :(得分:2)

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

以下是它的样子:

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

我能够复制这个问题。当我添加了disablewebsecurity时,错误会在您使用Chrome时遇到警告。