为啥我不能设置 Jquery 的属性并在 Electron 中得到未定义的答案
Posted
技术标签:
【中文标题】为啥我不能设置 Jquery 的属性并在 Electron 中得到未定义的答案【英文标题】:Why can't I set the property of Jquery and get a undefined answer in Electron为什么我不能设置 Jquery 的属性并在 Electron 中得到未定义的答案 【发布时间】:2018-03-28 18:11:11 【问题描述】:我目前正在使用 javascript 开发一个电子应用程序,我想在我的电子应用程序中使用 JQuery,我已经添加了教程中指出的代码ourcodeworld.com。我还安装了 JQuery,执行以下操作 NPM I Jquery --save
我还在我的代码中添加了 win.$ = win.jQuery = require('jquery');
但是,我收到了 can not set property 'Jquery' of undefined
错误。我将如何消除此错误?
const electron = require('electron')
// Module to control application life.
const app = electron.app
// Module to create native browser window.
const BrowserWindow = electron.BrowserWindow
const windowStateKeeper = require('electron-window-state');
const Menu = electron.Menu;
let win;
app.on('ready', function()
win.$ = win.jQuery = require('jquery');
win = new BrowserWindow( width: 1000, height: 800, resizable:false )
win.loadURL('file://./slider.html')
console.log();
const menuTemplate = [
label: 'Quit',
click: () =>
app.quit();
];
const menu = Menu.buildFromTemplate(menuTemplate);
Menu.setApplicationMenu(menu);
);
【问题讨论】:
你也试过这个吗?= @ÁlvaroTouzón 是的,我已经在我的代码中声明了它以及答案中建议的修复程序,每次我在电子应用程序中加载slider.html时都会得到这个,在我的谷歌浏览器中加载美好的。 Image 看看@Suren 的回复 【参考方案1】:你刚刚声明了你的变量,但还没有初始化。使用object
对其进行初始化,然后您可以为其添加属性。
let win = ;
win.jQuery = 'Test';
【讨论】:
win 似乎预先定义了电子的全局对象 他重新声明,是的,有理由,退出否定,。对不起 @Suren Srapyan 这修复了未定义的错误,但现在 jquery 根本没有像我告诉 Alvaro 的那样加载,我每次都在这个 image 中得到这个,应该加载的是一个 jquery 库滑块称为惊人的滑块。如有必要,我可以为此打开一个附加问题 我认为问题上下文与此不同。您需要创建另一个问题【参考方案2】:我的电子应用面临同样的问题,
对我来说,它的工作方式如下。
<script>if (typeof module === 'object') window.module = module; module = undefined;</script>
<script src="./../UIControllers/jquery.min.js"></script>
<script src="./../UIControllers/jquery-ui.min.js"></script>
<script>if (window.module) module = window.module;</script>
【讨论】:
以上是关于为啥我不能设置 Jquery 的属性并在 Electron 中得到未定义的答案的主要内容,如果未能解决你的问题,请参考以下文章
为啥我不能为超过 jquery 1.4.4 的 backgroundPosition 设置动画?
在 Python 中,为啥我不能为 str 类设置属性? [复制]