Я попробовал несколько версий через Electron Fiddle и не могу заставить электронный браузер работать с предварительно загруженным файлом javascript. Я следил за Electron BrowserView, не фиксирующим события мыши , Скрипт предварительной загрузки не загружается в electron@5.0.0 browserview и все остальное, что я мог прочитать в обзоре браузера и предварительно загрузить javascript. Я могу получить предварительно загруженный javascript для запуска из окна браузера, но не из браузера. Я перепробовал все варианты webpreferences и убедился, что пути правильные. Ничего. Мой вопрос: может ли кто-нибудь предоставить какой-нибудь скелетный код, который он получил для работы? Или намек на то, что я пытаюсь сделать, даже возможно. Вот часть кода, который я использовал. Как я упоминал ранее, он работает из окна браузера, но не из браузера, ничего не выводится на консоль. Спасибо.
Я бы хотел, чтобы это работало для Electron v8.0.0
main. js
const path = require('path');
const { BrowserView, BrowserWindow, app } = require('electron')
app.on('ready', () => {
let win = new BrowserWindow({ width: 800, height: 600 });
win.on('closed', () => { win = null });
const view = new BrowserView();
win.setBrowserView(view);
view.setBounds({ x: 0, y: 0, width: 800, height: 600,
webPreferences: { devTools: true, contextIsolation: true, preload: path.join(app.getAppPath(), 'preload.js') } });
view.webContents.loadURL('https://electronjs.org');
view.webContents.openDevTools({mode:'undocked'});
});
preload. js
const { webFrame } = require('electron');
webFrame.executeJavaScript('window.foo = "foo";');
window.bar = 'bar';
document.addEventListener('DOMContentLoaded', () => {
// Will log out 'undefined' since window.foo is only available in the main
// context
console.log(window.foo);
// Will log out 'bar' since window.bar is available in this context
console.log(window.bar);
});