Стас
чего
window.location.href = 'URL2';
Стас
Ты совсем не знаешь js, но берешься за фрейворк ради задачи, которая его не требует
ALΣX
1) проверь вообще есть ли у тебя доступ к shell; 2) используй для этих целей IPC (посмотри доку)
Стас
Ты совсем не знаешь js, но берешься за фрейворк ради задачи, которая его не требует
Стас
1) проверь вообще есть ли у тебя доступ к shell; 2) используй для этих целей IPC (посмотри доку)
А зачем вообще здесь электрон? Избыточно, абсолютно, не считаешь?
Александр
а так реакция на клик есть
Александр
textcontent h1 после кликак менял - работает
Стас
ну немного знаю
Если я правильно понял исходную задачу: 1) есть поле ввода на страницу 2) туда вводится адрес 3) по клику на кнопку клиент переходит на указанный адрес Или я понял ТЗ неверно?
Александр
верно
Unknown
так типа
const mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, enableRemoteModule: true, webSecurity: false, }, }); попробуй так сделать
Unknown
Александр
меня прокляли походу
Александр
ALΣX
все равно не открывается
создай файл preload.js с кодом: const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('electronAPI', { openExternal: (url) => ipcRenderer.send('open-external', url) }); укажи его при создании окна (обнови код, который у тебя есть): new BrowserWindow({ width: 600, height: 600, webPreferences: { nodeIntegration: false, contextIsolation: true, preload: './preload.js' // путь к preload.js } }); // добавь прослушивание событий тут же (надо импортировать ipcMain, shell с electron) ipcMain.on('open-external', (event, url) => { shell.openExternal(url); }); // для открытия отдельной страницы используй в html btn.addEventListener('click', () => { // другой код window.electronAPI.openExternal('https://github.com'); });
Александр
это просто как пример
вот так сделал через path, в консоли вывело что нужно абсолютный путь делать
Александр
аоаоаоаооа
Александр
работает!!!
Александр
спасибо большое
Степан
Всем привет! Может знает кто бдшку под электрон совместимую с Astra Linux? Была nedb в приложении, но она не дружит с астрой, да и не поддерживается уже лет 8 вроде как.
🅰️nimeCoder
Вышло и хорошо работает. Итого я офнул у окна все функции типа минимизации, закрытия, фокуса, наличия в таскбаре. И always on top Окно рисую получая на screen праймари монитор и его ворк арию Сделал без рамки и прозрачное. Уведомления пашут как родные, все ок. Для того чтобы был pass thru эвентов и самой мышки в местах без уведомлений или щелях между ними - setShape делаю через ipc invoke / handle при каждом изменении уведомлений (закрытие, появление нового и др). Делаю выборку всех блоков уведомлений по селектору и получаю их bounding rect client, прогоняю его через мапу чтобы были только координаты и размеры и округляю через Math.trunc (setShape кушает только целые числа)
от setShape я все же отказался в пользу setIgnoreMouseEvents коорый работает на всех платформах. При отправке уведомления и отсутствия окна создает окно все интит и окно начинает слать инфу о кординатах и размерах уведомлений в окне по ipc раз в 10 ms, на основании этого и расположения курсора на мониторе + кординат окна я рассчитываю находится ли сейчас курсор над уведомлением и включаю или выключаю setIgnoreMouseEvents
🅰️nimeCoder
Судя по всему работает быстрее чем setShape и при этом не обретает окно что даёт возможность нормально пропускать эвенты даже в щелях между Уведомлениями при этом не вызывая артефакты анимации в окне (тем что обрезало бы рендер) На видео видно небольшие просадки fps / пролаги Это у меня на компе весь свап забило и все 32.2/33.6гб рама) (и нет, это не прилой) Надо ток шлифануть и проверить на винде и маке все
🅰️nimeCoder
Координаты получаю через screen из electron, я откапывал решения где юзают setIgnoreMouseEvents с forward и передают прямо с окна кординаты, но на линухе этот флаг не поддерживается
RdfBbx
День добрый) Насколько приемлемо использовать в мейн процессе электрона di контейнер типа inversify или nest? Десктоп разработка для меня в новинку (я бэк разраб), хотелось бы свести разработку в знакомое русло)
Кирилл
День добрый) Насколько приемлемо использовать в мейн процессе электрона di контейнер типа inversify или nest? Десктоп разработка для меня в новинку (я бэк разраб), хотелось бы свести разработку в знакомое русло)
Вполне допустимо) В принципе плюсов даже больше чем минусов, единственное что память и производительность жрать будет, нужно мониторить что бы не доходило до критического уровня и конечно же не нужно его внедрять туда где в нем нет необходимости.
Unknown
@RewriteH чёт много дедов каких-то с квадратными аватарками залетело
Unknown
Peter
здравствуйте возникла такая проблема собираю под 2 разрядности 64 и 32 и вес установочника выходит соответсвенно в 2 раза больше в связи с чем возникает проблема с невозможностью подписать прогу сертом. Какие есть варианты по уменьшению веса ?
ALΣX
здравствуйте возникла такая проблема собираю под 2 разрядности 64 и 32 и вес установочника выходит соответсвенно в 2 раза больше в связи с чем возникает проблема с невозможностью подписать прогу сертом. Какие есть варианты по уменьшению веса ?
хм, не знал, что есть взаимосвязь между подписью и весом приложения. Можна узнать, что за сертификаты такие? Как вариант, никто не запрещает собирать отдельно для 32 та 64 версий
Диня
ev для публикации в сторе?
ALΣX
ев серт до 150 метров он
чем собираете, какой размер после сборки?
Nikolay Dimitriev
Если я собираю exe который по сути выводит сайт вот таким образом: appWindow.loadURL('https://test1.com'); То могу ли я как-то извне потом менять url? Например, приложение exe уже запущено и открыт test1.com, а потом понадобилось чтобы url изменился на test2.com. Это вообще возможно? Или тут без пересборки никак не обойтись?
John Doe
Всем привет. Реализуемо ли создать десктопную игру с использованием электрона и three.js?
John Doe
Мне кажется ничего не мешает, кроме здравого смысла😅
Это типо шутка такая, или что ты имеешь ввиду? 🤔
Владимир
Это типо шутка такая, или что ты имеешь ввиду? 🤔
зачем делать десктопную игру на электроне и three.js при живых Unity/godot etc ?
Den
> Осознав невозможность повлиять на политику государства, Конфуций подал в отставку...
Timur
зачем делать десктопную игру на электроне и three.js при живых Unity/godot etc ?
Может по фану просто, может в портфолио добавить это уже не важно)
John Doe
зачем делать десктопную игру на электроне и three.js при живых Unity/godot etc ?
На three.js разве не легче понадобавлять моделек, чем возиться с движками?
John Doe
Пока нужно просто вариант для mvp склепать + в игре не предусматривается огромный экшен, чтобы нужно было целый дыижок использовать
Владимир
Kyle
В электроне вообще можно сделать размытие окна на win 10/11?
Oleg
похожая проблема . можно плиз уточнить какими девтулзами ты чекал память?
Я искал проблему с помощью вкладки memory Делал запись heap'а и смотрел, что вызывает излишюю нагрузку Если проблемы как с этим работать, то поищи гайды как работать с этой штукой в контексте ноды
123
просто не совсем понял откуда она может быть вообще в десктопе
Oleg
а откуда вкладка мемори? получается обычный дев тулс как в браузере ?
Ноуп Проблема была именно в электроне Запускаешь через electron --inspect и чекай через хром chrome://inspect там появится запущенное приложение твое кликай инспект и развлекайся
123
понял спс
🅰️nimeCoder
Я бы попробовал сделать прозрачное окно, а размытие на css Или так не прокатывает?
🅰️nimeCoder
Пробовал? Вроде ток с win10, а зная 11, то там отличий не сильно много
Kyle
В правилах не ясно можно ли тут просить помочь за оплату? Мне надо понять размытие под окном на винде 10 и 11, у окна еще закругленные края, плачу тысяч 50-100
Andrey Sicker
Платить не надо
Andrey Sicker
Попробуй дать параметр frame:true
Kyle
У окна кастомный титл
Andrey Sicker
И что? Это все равно BrowserWindow Или я упускаю что то?
Andrey Sicker
Так тебе же написано что нужно сконфигурировать динамические реквайры
Kyle
Я пишу сюда потому что это не моя область, у меня шарп, а прогер в моей команде не могет, вот я и думаю уже найти кого-нибудь на эту задачу
Andrey Sicker
Дай минуток пять