Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用electron shell和ipcMain在不同浏览器中打开链接_Javascript_Jquery_Electron - Fatal编程技术网

Javascript 使用electron shell和ipcMain在不同浏览器中打开链接

Javascript 使用electron shell和ipcMain在不同浏览器中打开链接,javascript,jquery,electron,Javascript,Jquery,Electron,您好:]由于我的应用程序中存在一些数字认证策略,因此我依靠用户通过浏览器注册表单。我必须实现这个解决方案,因为electron不支持Mozilla Firefox的扩展,而我之所以需要它,正是因为为了让用户发送表单,他必须以数字方式验证有关公司所有权的一些文档,为此,他必须通过我上面提到的扩展选择他的数字证书 我试着运行一些电子壳层文档中的例子,但没有成功 我的main.js const electron = require('electron'); const app = electron.a

您好:]由于我的应用程序中存在一些数字认证策略,因此我依靠用户通过浏览器注册表单。我必须实现这个解决方案,因为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>

常数ipc=要求('electron')。ipc渲染器;
是打开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>
打开浏览器
非常感谢你的帮助

require的不同之处在于:
const{shell}=require('electron')
(在您的例子中是
electron.shell
)。这可能会产生不同的需求在以下方面有所不同:
const{shell}=require('electron')
(或者在您的例子中是
electron.shell
)。这可能会有所不同