我正在尝试加载要在 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/