#javascript #html #electron
#javascript #HTML #electron
Вопрос:
Возможно ли получить информационное диалоговое окно с формой или вводом?
Идея в том, что если мы нажмем на btnDialog , откроется диалоговое окно, в котором мы можем определить значение для value1 или нет.
HTML :
<button id="btnDialog">Define value1</button>
Средство визуализации :
var value1 = 0;
document.getElementById("btnDialog").onclick = function(){
ipcRenderer.send('opend');
}
ipcRenderer.on('returnd',(event,index)=>{
if(index==0){
//value1 = value of input
}
});
Главная :
ipcMain.on('opend',(event)=>{
const options = {
type:'info',
title: 'Title',
buttons:['OK','Cancel'],
message: 'Define value1 <form><input></input></form>'
};
dialog.showMessageBox(options,(index)=>{
event.sender.send('returnd',index);
});
});
Я не вижу, как получить значение из формы, если это необходимо.
Заранее спасибо за вашу помощь.
Ответ №1:
Короткий ответ — НЕТ, вы не можете извлечь значение формы из Dialog MessageBox
.
API MessageBox очень понятен, он возвращает только индекс нажатой кнопки, даже при использовании асинхронного обратного вызова, как вы сделали выше.
Правильный способ достижения вашей цели — создать новое окно браузера, которое содержало бы надлежащую форму и с которым вы могли бы взаимодействовать надлежащим образом.
Кроме того, если вы хотите удалить Chrome из окна, вы можете добавить настройки безрамочного окна.
В любом случае вы должны использовать обычный API обмена сообщениями для обмена данными между основным процессом и окном браузера.