NodeWebkit(nw.js)允许在iframe中使用自签名SSL证书

时间:2015-04-23 16:57:13

标签: node-webkit nw.js

我有一个带有这个package.json的nw.js应用程序:

{
  "main": "index.html",
  "name": "test_app",
  "window": {
    "toolbar": false,
    "position": "center",
    "min_width": 800,
    "min_height": 500,
    "as_desktop": true,
    "resizable": true,
    "frame": true,
    "chromium-args": "--ignore-certificate-errors"
  },
  "webkit": {
    "plugin": true,
    "page-cache": true
  }
}

我的index.html包含以下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>demo</title>
</head>
<body>
<iframe src="https://www.example.com"></iframe> 
<script type="text/javascript" src="js/jquery.min.js"></script>
<script>
    function myfunc(){
        alert("my func");
    }
</script>
</body>
</html>

问题:

我的网站(iframe的src)https://www.example.com有自签名证书,所以如果我尝试在控制台中加载,请给我这个错误:

Failed to load resource: net::ERR_INSECURE_RESPONSE  

为什么--ignore-certificate-errors没有在iframe中延伸?

提前致谢!

1 个答案:

答案 0 :(得分:2)

我在nw.js github repo上的一个问题中找到了解决方案。

基本上你需要使用:

  "chromium-args": "--allow-running-insecure-content --ignore-certificate-errors",

它必须在name文件中超出窗口对象(例如,在package.json属性之后)。