electron 创建一个按钮,使用js文件创建一个覆盖与电子[已关闭]

qxgroojn  于 2023-02-17  发布在  Electron
关注(0)|答案(1)|浏览(117)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

昨天关门了。
这篇文章是昨天编辑并提交审查的。
Improve this question
我正在做一个项目,以创建一个覆盖,将有助于团队作战战术的球员。所以我首先创建一个窗口的按钮,当点击,将打开一个覆盖,但我不知道如何做到这一点,这里是我以前尝试:
我有一个main.js:

const { app, BrowserWindow, ipcMain } = require('electron');

let overlayWindow;

function createOverlayWindow() {
  overlayWindow = new BrowserWindow({
    width: 400,
    height: 300,
    transparent: true,
    frame: false,
    alwaysOnTop: true,
    webPreferences: {
      nodeIntegration: true
    }
  });
  overlayWindow.loadFile('overlay.html');

  overlayWindow.on('blur', () => {
    overlayWindow.hide();
  });
}

ipcMain.on('open-overlay', () => {
  createOverlayWindow();
});

app.whenReady().then(() => {
    console.log("windows_Create");
  createWindow();
});

function createWindow() {
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  });

  mainWindow.loadFile('index.html');
}

我有一个index.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>TFT HELPER</title>
  </head>
  <body>
    <h1>hey!</h1>
    <button id="openOverlayButton" onclick="overlay.js">Overlay</button>
  </body>
</html>

我有一个覆盖。js:

const {ipcRenderer } = require('electron');

document.getElementById("openOverlayButton").addEventListener('click', () => {
    
    console.log("bouton_cliquer");
    ipcRenderer.send('open-overlay');
});

我有一个overlay.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Overlay</title>
    <style>
      body {
        background-color: transparent;
        text-align: center;
      }

      h1 {
        color: white;
        font-size: 3em;
        margin-top: 20%;
      }
    </style>
  </head>

我有一个包。json
我也用index.html文件测试了这个,但是不起作用,也许问题不是index.html?:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>TFT HELPER</title>
  </head>
  <body>
    <h1>hey!</h1>
    <button id="openOverlayButton">Overlay</button>
    <script src="overlay.js"></script>
  </body>
</html>

我认为问题就在这里,但也可能是别的原因:

//main.js
ipcMain.on('open-overlay', () => {
  createOverlayWindow();
});
fsi0uk1n

fsi0uk1n1#

你不能直接从onclick调用一个JavaScript文件,像这样修改你的index.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>TFT HELPER</title>
  </head>
  <body>
    <h1>hey!</h1>
    <button id="openOverlayButton">Overlay</button>
    <script src="overlay.js"></script>
  </body>
</html>

相关问题