如何在Electron Renderer Process中使用jQuery插件?

时间:2016-02-14 15:36:36

标签: javascript jquery electron

我正在制作Electron的webview应用程序。

当我想使用此插件时,无法加载。 http://madapaja.github.io/jquery.selection/

jQuery正在收集,但插件没有。

如何在电子中加载插件?

代码如下。

app.js(主要流程)

app.on('ready', function() {
   mainWindow = new MainWindow();
   mainWindow = new BrowserWindow({
   width: 1480,
   height: 800,
   preload: __dirname + '/index.js',
   "zoom-factor": 1.0
  });
  mainWindow.loadUrl('https://example.com');
  mainWindow.openDevTools();
  mainWindow.webContents.on('new-window', function(event, url) {
  shell.openExternal(url);
  event.preventDefault();
   });
mainWindow.webContents.on('closed', function() {
mainWindow = null;
app.quit();});
ipc.on('loadurl', function(event, args) {
 mainWindow.window.loadUrl(args.url);
 mainWindow.window.focus();
});

index.js(渲染过程)

var remote = require('remote');
var app = remote.require('app');
var ipc = require('ipc');
var myScript = require('./lib/myScript');
var BrowserWindow = remote.require('browser-window');
  window.onload = function(){
    myScript.sumeFunc();
  };

myScript.js(使用jquery插件)

var remote = require('remote');
var $ = jQuery = remote.require('./jquery-2.1.4.min');
require('./jquery.selection');
var myScript = {
someFunc: function () {
'use strict';

var toolBarSelector = '.chatSendTool';
var chatTextAreaSelector = '#_chatText';

function getContents() {
  var selected = $(chatTextAreaSelector).selection(); //this is jquery plugin

  if (selected) return selected;
  return $(chatTextAreaSelector).val();
}
}};

错误低于

底层错误:jQuery需要一个带文档的窗口

1 个答案:

答案 0 :(得分:1)

myScript.js尝试替换:

var $ = jQuery = remote.require('./jquery-2.1.4.min');

使用:

var $ = global.jQuery = require('./jquery-2.1.4.min');

我不知道你为什么要尝试远程需要jQuery。