首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在电子设备中本地运行非内联JS

在电子设备中本地运行非内联JS
EN

Stack Overflow用户
提问于 2019-10-04 05:57:50
回答 1查看 6.2K关注 0票数 7

在本地开发时,我希望将所有单独的JS脚本作为文件放在另一个文件夹中。我能够做到这一点的唯一方法是不声明meta语句。然而,由于没有宣布,我当然会收到警告。

电子安全警告(不安全内容-安全性-策略)此呈现程序进程没有内容安全策略集或启用了“不安全级别”的策略。这使该应用程序的用户面临不必要的安全风险。

有没有一种方法可以在不忽略或违反CSP的情况下在本地执行?

EN

回答 1

Stack Overflow用户

发布于 2019-10-05 13:15:24

在呈现器中设置以下元标记。

代码语言:javascript
复制
<meta http-equiv="Content-Security-Policy" content="script-src 'nonce-xxx or sha256-yyy' " />

请查看我的github 电子渲染器-CSP-样品,其中包含了用于内部和外部js文件的nonce和SHA方法的示例。

在创建主webPreferences时,可以在BrowserWindow中使用预加载参数。在main.js中,

代码语言:javascript
复制
  mainWindow = new BrowserWindow({
    webPreferences: {
      nodeIntegration: false,
      preload: path.join(__dirname, 'preload.js')
    }
  })

在preload.js中

代码语言:javascript
复制
        const remote = require("electron").remote;
// electron APIs
        window.appQuit = function() {
          remote.app.exit(0);
        };
// node modules
       window.notify= function notify(msg) {
       return require('node-notifier').notify(msg);
       };
// DOM can be manipulated from here (Refer 
// https://github.com/electron/electron-quick-start/blob/master/preload.js)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58230686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档