Javascript 在Electron中加载的HTML文件与在浏览器窗口中加载的HTML文件不同

Javascript 在Electron中加载的HTML文件与在浏览器窗口中加载的HTML文件不同,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试编写一个程序,使用openweathermap.org API显示天气数据,同时使用MaterializeCSS使其看起来美观。但是,当前我的代码在Electron中的加载与在web浏览器中的加载不一样。它在最新版本的Google Chrome浏览器中正常工作,而在Electron中,按钮和动画根本无法正常工作。没有动画,不同的选项卡无法正确显示。单击时,选项卡将不执行任何操作,并且选项卡的所有内容将立即显示。见下文 文件将正确显示在浏览器中,如下所示 以下是index.html的代码

我正在尝试编写一个程序,使用openweathermap.org API显示天气数据,同时使用MaterializeCSS使其看起来美观。但是,当前我的代码在Electron中的加载与在web浏览器中的加载不一样。它在最新版本的Google Chrome浏览器中正常工作,而在Electron中,按钮和动画根本无法正常工作。没有动画,不同的选项卡无法正确显示。单击时,选项卡将不执行任何操作,并且选项卡的所有内容将立即显示。见下文

文件将正确显示在浏览器中,如下所示

以下是index.html的代码:

const{app,BrowserWindow}=require'electron' 常量路径=需要“路径” const url=require'url' const functions=require./函数 让我们赢; 函数createWindow{ win=新浏览器窗口{宽度:1280,高度:720}; win.loadURL'file://'+_dirname+'/index.html'; functions.getDatafunctiondata{ 控制台日志数据; }; //win.webContents.openDevTools win.on'closed',=>{ win=null }; } 应用程序。在“就绪”,创建窗口; 在“窗口全部关闭”上的应用程序,=>{ //苹果的东西 如果process.platform!==“darwin”{ app.quit } }; “激活”上的应用程序,=>{ //更多苹果的东西 如果win==null{ 创建窗口 } }; //materializecss.com获取所使用的css。 物质天气 今天 明天 10天
这是一个大胆的猜测,因为我只使用Electron构建了一个应用程序,但我确实遇到了类似的问题,我必须在package.json文件中包含依赖项

 "dependencies": {
    "bootstrap": "^3.3.7"
},

这是一个大胆的猜测,因为我只使用Electron构建了一个应用程序,但我确实遇到了类似的问题,我必须在package.json文件中包含依赖项

 "dependencies": {
    "bootstrap": "^3.3.7"
},

问题是jQuery没有在Electron窗口中正确加载。经过几个小时的互联网搜索,试图找到一个解决方案,这就是我想到的

将其放在代码脚本部分的开头:

将此内容放在脚本部分的末尾:

,它实际上强制窗口使用导入的每个模块,这是其他类似问题的常见修复方法

因此,我的代码最后看起来是这样的:

    <script>if (typeof module === 'object') {window.module = module; module = undefined;}</script> <!-- makes jquery actually work -->
    <!-- scripts -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
    <script src="https://unpkg.com/webkul-micron@1.0.4/dist/script/micron.min.js" type="text/javascript"></script>
    <!--         -->
    <script>if (window.module) module = window.module;</script> <!-- makes jquery actually work -->```

问题是jQuery没有在Electron窗口中正确加载。经过几个小时的互联网搜索,试图找到一个解决方案,这就是我想到的

将其放在代码脚本部分的开头:

将此内容放在脚本部分的末尾:

,它实际上强制窗口使用导入的每个模块,这是其他类似问题的常见修复方法

因此,我的代码最后看起来是这样的:

    <script>if (typeof module === 'object') {window.module = module; module = undefined;}</script> <!-- makes jquery actually work -->
    <!-- scripts -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
    <script src="https://unpkg.com/webkul-micron@1.0.4/dist/script/micron.min.js" type="text/javascript"></script>
    <!--         -->
    <script>if (window.module) module = window.module;</script> <!-- makes jquery actually work -->```

谢谢你的提示,但是这并没有改变任何事情。这个问题对我来说真的没有意义,因为从理论上讲,浏览器中加载的同一个html文件应该由main.js加载。对不起,威尔,在这种情况下,这有点超出我的理解范围,因为我在引导样式和jQuery方面遇到了问题。谢谢你的提示,但是这并没有改变任何事情。这个问题对我来说真的没有意义,因为从理论上讲,浏览器中加载的同一个html文件应该由main.js加载。对不起,威尔,在这种情况下,这有点超出我的理解,因为我在引导样式和jQuery方面遇到了问题。救了我一命:如果不是我的网站,有解决方案吗?想在浏览器窗口中打开一个不是我自己的网站救了我的命:如果不是我的网站,有解决方案吗?想在BrowserWindow中打开一个不是我自己的网站吗