使用electron-shell和ipcMain

时间:2017-11-01 23:36:08

标签: javascript jquery electron

嗨:]由于我的应用程序中有一些数字认证政策,所以我依赖用户通过浏览器注册表单。我不得不实施这个解决方案,因为电子不支持Mozilla Firefox的扩展,我完全需要它,因为为了让用户发送表格,他必须以数字方式验证一些关于公司所有权的文件,为此,他必须选择他的我上面提到的扩展数字证书。

我试图运行电子壳文档中的一些例子,但没有成功

我的main.js

const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
var Menu = require('menu');
var fs = require('fs');
var shell = require('shell');
var mainWindow = null;

require("babel-register")();

app.on('window-all-closed', function() {
  if (process.platform != 'darwin') {
    app.quit();
  }
});

app.on('ready', function() {
  mainWindow = new BrowserWindow({
    autoHideMenuBar: false,
    webPreferences: {
      nodeIntegration: false
    },
    width: 1200,
        height: 750
  });

var template = [
  require("./server").start()
  .then((app) => {
    mainWindow.loadURL('http://localhost:3000');
  }).catch((err) => {

  });

  mainWindow.openDevTools();
  mainWindow.on('closed', function() {
    mainWindow = null;
  });
});

ipcMain.on('loadGH', (event, arg) => {
    shell.openExternal(arg);
});

我的前端插件。

  <link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css">
  <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/6.9.1/sweetalert2.min.js"></script>

我在head html中实例化了ICP模块

<script>
   const ipc = require('electron').ipcRenderer;
</script>

我的按钮应该打开Mozilla Firefox

<a class="indigo white-text btn" onclick="ipc.send('loadGH','http://google.com');"><i class="material-icons left">undo</i>OPEN BROWSER</a>

非常感谢您的帮助!

0 个答案:

没有答案