Как получить доступ к jquery из процесса рендеринга внутри скрипта предварительной загрузки на Electron - PullRequest
0 голосов
/ 07 марта 2019

Я настроил интеграцию Node на false в моем окне, потому что, как описано в документации, отключение является хорошей практикой.

Я хочу получить доступ к jQuery моего процесса рендеринга в моем сценарии предварительной загрузки, но яНе знаю, как я могу это сделать.

Возможно ли активировать модальный режим (например) после того, как какое-либо событие произойдет в скрипте предварительной загрузки?

Ссылка на мой пример кода в Github:https://github.com/JhonatanRSantos/Sample

1 Ответ

0 голосов
/ 08 марта 2019

Как сказала Джанит, вам не нужно использовать скрипт предварительной загрузки. Вот рабочий пример на основе вашего репозитория Github:

Index.html - в части HEADER измените так:

<script>window.$ = window.jQuery = require('jquery');</script>
<script src="./node_modules/popper.js/dist/umd/popper.min.js"></script>
<script src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script>

Обратите внимание, что вам нужно использовать путь ./node_modules/popper.js/dist/umd/popper.min.js, иначе вы получите сообщение об ошибке в консоли (см. popper.js в начальной загрузке 4 дает SyntaxError Неожиданный экспорт токена )

Index.html - FOOTER, добавьте:

<script src="./index.js"></script>

Переименование preload.js в index.js

index.js может быть:

console.log('Preload.js');
setTimeout(() => {
    console.log('Open Boostrap Modal');
    $('#myModal').modal('show');
}, 5000);

и, наконец, main.js может быть:

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

let createWindow = () => {
    let win = new BrowserWindow({
        width: 800,
        height: 500,
        center: true,
        resizable: false,
        show: false
    });
    win.setMenu(null);
    const mainUrl = url.format({ // https://electronjs.org/docs/api/browser-window#winloadurlurl-options
        protocol: 'file',
        slashes: true,
        pathname: path.join(__dirname, 'index.html')
      })
    win.loadURL(mainUrl);
    win.once('ready-to-show', () => {
        win.show();
        win.webContents.openDevTools();
    });
    win.on('closed', () => {
        win = null;
    });
};
app.on('ready', createWindow);

Я отправил запрос в ваш репозиторий, чтобы получить изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...