我正在制作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需要一个带文档的窗口
答案 0 :(得分:1)
在myScript.js
尝试替换:
var $ = jQuery = remote.require('./jquery-2.1.4.min');
使用:
var $ = global.jQuery = require('./jquery-2.1.4.min');
我不知道你为什么要尝试远程需要jQuery。