Задать вопрос
duboloms
@duboloms
Люблю есть дубы с кетчупом. Веб-разработчик.

Как исправить ошибку document is not defined в ElectronJS?

Я попытался обратиться к элементу через document (Напомню использую electronJS):
main.js:
const path = require('path');
const url = require('url');
const {app, BrowserWindow} = require('electron');
let win;

// Функция открытия приложения
function createWindow() {
  // Параметры приложения
  win = new BrowserWindow({
    width: 1000,
    height: 600,
    icon: __dirname + "/img/favicon.svg",
    frame: false
  });
  // win.setMenu(null);

  // Где будет распологаться главная страница
  win.loadURL(url.format({
    pathname: path.join(__dirname, 'index.html'),
    protocol: 'file:',
    slashes: true
  }));

  // Открытие инспектора
  // win.webContents.openDevTools();

  // Закрытие по нажатию кнопки "Закрыть" в html
 document.querySelector('.close').addEventListener('click', () => {
    console.log(win);
  });
 }
  // Открывать после команды запуска (npm start)
  app.on('ready', createWindow);

Но мне выскочила ошибка document is not defined

Вот index.html:
<!DOCTYPE html>
<html lang="ru" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Конвертор Температуры</title>
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/main.css">
  </head>
  <body>
<!-- Этот html показывает иконку крестика, и должно при нажатии на него в js закрыться окно -->
    <div class="title-bar">
      <div class="window-controls">
        <div class="close">
          <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M13 1L7 7M1 13L7 7M7 7L1 1M7 7L13 13" stroke="black"/>
          </svg>
        </div>
      </div>
    </div>
    <div class="loader">
      <div class="loader__container">
        <h1 class="loader__container__counter"></h1>
        <h2 class="loader__container__loading">Загрузка...</h2>
      </div>
      <div class="loader__layer"></div>
    </div>
    <header class="left-bar__menu" id="treeMenu">
      <div class="left-bar__widget widget-disabled">
        <div class="menu-icon__wrapper" id="menu" title="Меню">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </div>
      </div>
      <div class="left-bar__widget">
        <div class="left-bar__icon-wrapper">
          <svg xmlns="http://www.w3.org/2000/svg" height="512" viewBox="0 0 64 64" width="512"><rect fill="#2d75bb" height="58" rx="2" width="34" x="15" y="3"/><path d="m18 22h2v2h-2z" fill="#fcf05a"/><path d="m22 22h2v2h-2z" fill="#fcf05a"/><path d="m26 22h2v2h-2z" fill="#fcf05a"/><path d="m30 22h2v2h-2z" fill="#fcf05a"/><path d="m19 7h26v12h-26z" fill="#87cee9"/><g fill="#21537c"><path d="m19 27h6v6h-6z"/><path d="m29 27h6v6h-6z"/><path d="m39 27h6v6h-6z"/><path d="m19 37h6v6h-6z"/><path d="m29 37h6v6h-6z"/><path d="m19 47h6v6h-6z"/><path d="m29 47h6v6h-6z"/><path d="m39 37h6v16h-6z"/></g><path d="m15 56h11v2h-11z" fill="#87cee9"/><path d="m38 56h11v2h-11z" fill="#87cee9"/><path d="m34 56h2v2h-2z" fill="#87cee9"/><path d="m32.379 12.5h4.243v2h-4.243z" fill="#f4f4e6" transform="matrix(.707 -.707 .707 .707 .559 28.349)"/><path d="m27.379 12.5h4.243v2h-4.243z" fill="#f4f4e6" transform="matrix(.707 -.707 .707 .707 -.906 24.814)"/></svg>
        </div>
        <h3>Тип Конвертора</h3>
        <p>Выберете тип конвертора, с которым хотите работать.</p>
      </div>
      <div class="left-bar__widget">
        <div class="left-bar__icon-wrapper">
          <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 502.596 502.596" style="enable-background:new 0 0 502.596 502.596;" xml:space="preserve">
        <path style="fill:#84DBFF;" d="M336.98,141.061c-3.135-12.539-8.359-25.078-14.629-36.571l12.539-29.257l-43.886-42.841  l-29.257,12.539c-11.494-6.269-22.988-11.494-36.571-14.629L214.727,0h-61.649l-11.494,30.302  c-12.539,3.135-25.078,8.359-36.571,14.629L75.755,32.392L32.914,75.233l12.539,29.257c-6.269,11.494-11.494,22.988-14.629,36.571  L0.522,152.555v61.649l30.302,11.494c3.135,12.539,8.359,25.078,14.629,36.571l-12.539,29.257L76.8,334.367l29.257-12.539  c11.494,6.269,22.988,11.494,36.571,14.629l11.494,30.302h60.604l11.494-30.302c12.539-3.135,25.078-8.359,36.571-14.629  l29.257,12.539l43.886-42.841l-12.539-29.257c6.269-11.494,11.494-22.988,14.629-36.571l30.302-11.494v-61.649L336.98,141.061z   M183.38,258.09c-41.796,0-75.233-33.437-75.233-75.233s33.437-75.233,75.233-75.233s75.233,33.437,75.233,75.233  S225.176,258.09,183.38,258.09z"/>
        <g>
        	<path style="fill:#54C0EB;" d="M236.669,236.147c-29.257,29.257-76.278,29.257-105.535,0l-27.167,27.167   c43.886,43.886,115.984,43.886,159.869,0s43.886-114.939,0-159.869l-27.167,27.167C265.927,159.869,265.927,206.89,236.669,236.147   z"/>
        	<path style="fill:#54C0EB;" d="M103.967,103.445c-43.886,43.886-43.886,114.939,0,159.869l27.167-27.167   c-29.257-29.257-29.257-76.278,0-105.535s76.278-29.257,105.535,0l27.167-27.167C219.951,59.559,147.853,59.559,103.967,103.445z"/>
        </g>
        <path style="fill:#4CDBC4;" d="M354.743,428.408c1.045-6.269,1.045-11.494,0-17.763l10.449-10.449l-10.449-26.122h-14.629  c-3.135-4.18-8.359-8.359-12.539-12.539v-14.629l-26.122-10.449l-10.449,10.449c-6.269-1.045-11.494-1.045-17.763,0l-10.449-10.449  l-26.122,10.449v14.629c-4.18,3.135-8.359,8.359-12.539,12.539h-14.629l-10.449,26.122l10.449,10.449  c-1.045,6.269-1.045,11.494,0,17.763l-10.449,10.449l10.449,26.122h14.629c3.135,4.18,8.359,8.359,12.539,12.539v14.629  l26.122,10.449l10.449-10.449c6.269,1.045,11.494,1.045,17.763,0l10.449,10.449l26.122-10.449v-14.629  c4.18-3.135,8.359-8.359,12.539-12.539h14.629l10.449-26.122L354.743,428.408z M271.151,450.351  c-17.763-7.314-26.122-27.167-18.808-43.886c7.314-17.763,27.167-26.122,43.886-18.808c17.763,7.314,26.122,27.167,18.808,43.886  C307.722,449.306,287.869,457.665,271.151,450.351z"/>
        <path style="fill:#FF7058;" d="M491.624,291.527c1.045-6.269,1.045-11.494,0-17.763l10.449-10.449l-10.449-26.122h-14.629  c-3.135-4.18-8.359-8.359-12.539-12.539v-14.629l-26.122-10.449l-10.449,10.449c-6.269-1.045-11.494-1.045-17.763,0l-10.449-10.449  l-26.122,10.449v14.629c-4.18,3.135-8.359,8.359-12.539,12.539h-14.629l-10.449,26.122l10.449,10.449  c-1.045,6.269-1.045,11.494,0,17.763l-10.449,10.449l10.449,26.122h14.629c3.135,4.18,8.359,8.359,12.539,12.539v14.629  l26.122,10.449l10.449-10.449c6.269,1.045,11.494,1.045,17.763,0l10.449,10.449l26.122-10.449v-14.629  c4.18-3.135,8.359-8.359,12.539-12.539h14.629l10.449-26.122L491.624,291.527z M406.988,314.514  c-17.763-7.314-26.122-27.167-18.808-43.886c7.314-17.763,27.167-26.122,43.886-18.808c17.763,7.314,26.122,27.167,18.808,43.886  C444.604,313.469,424.751,321.829,406.988,314.514z"/>
        <g></g><g></g><g></g><g></g><g></g><g></g><g></g><g>
        </g><g></g><g></g><g></g><g></g><g></g><g></g><g></g>
          </svg>
        </div>
        <h3>Настройки</h3>
        <p>Подстройте приложение под себя, с помощью настроек.</p>
      </div>
    </header>
    <main>
      <section class="root">
        <div class="flex-column">
          <h1>Конвертор Температуры</h1>
        </div>
        <div class="flex-column">
          <input type="number" id="celcius" placeholder="Введите Цельсии" onkeyup="CelciusToFahrenheit()">
          <input type="number" id="fahrenheit" placeholder="Введите Фаренгейты" onkeyup="fahrenheitToCelcius()">
        </div>
      </section>
    </main>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.0/anime.min.js"></script>
    <script src="js/main.js"></script>
    <script type="text/javascript">
    const loader = ".loader",
          loaderCounter = $(".loader__container__counter"),
          loaderLayer = $(".loader__layer");

      // Timer
      let counter = 0;
      const loaderTimer = setInterval(function() {
      counter++;
      const tl = anime.timeline();
      tl.add({
      targets: ".loader__layer",
      duration: 0,
      width: counter + "%"
      });
      if(counter == 100){
      clearInterval(loaderTimer);
      tl.add({
        targets: [".loader", ".loader__layer", ".loader__container"],
        duration: 700,
        visibility: "hidden",
        translateY: "-100%",
        easing: 'easeInExpo',
        delay: 300
      });
      }
      loaderCounter.html(counter + '%');
      // loaderLayer.css({width: counter + "%"});
    }, 20);

      // Находим и вписываем в переменные поля ввода
        var celciusInput = document.getElementById('celcius');
        var fahrenheitInput = document.getElementById('fahrenheit');

      // Цельсии в фаренгейты
        function CelciusToFahrenheit() {
          let celcius = celciusInput.value;
          let fahrenheit = (celcius * 9/5) + 32;
          fahrenheitInput.value = fahrenheit;
        }

      // Фаренгейты в цельсии
        function fahrenheitToCelcius() {
          let fahrenheit = fahrenheitInput.value;
          let celcius = (fahrenheit - 32) * 5/9;
          celciusInput.value = celcius;
        }

      // Подключаю рендер для Электрона
        // require('./renderer.js');
    </script>
  </body>
</html>

Как это решить
  • Вопрос задан
  • 112 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 17:50
7000 руб./за проект
18 дек. 2024, в 17:26
5000 руб./за проект
18 дек. 2024, в 17:23
1500 руб./за проект