Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.11.2019, 14:14
Новичок на форуме
Отправить личное сообщение для svil Посмотреть профиль Найти все сообщения от svil
 
Регистрация: 09.01.2019
Сообщений: 3

Переход со страницы на страницу в Electron
У меня проблема в смене страниц внутри electron, как это сделать , если уроки и примеры кода нерабочие (Electron обновился)? C киоском не подходит так как надо перезагружать страницу браузера из-за карусели, что аналогично переходу со страницы на страницу внутри electron. Может ктонть кинет рабочую ссылку простого примера перехода с одной страницы на другую в Electron?
Нерабочий код к видеоуроку github.com/shama/letswritecode/tree/master/multi-window-electron-desktop-app Обсуждения что его код не работает и я его запускала и комменты писала https://github.com/shama/letswritecode/issues/11 Видео https://www.youtube.com/watch?v=K-H2amwQ_pU

Последний раз редактировалось svil, 22.11.2019 в 14:38.
Ответить с цитированием
  #2 (permalink)  
Старый 22.11.2019, 16:57
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

клонируем это: https://electronjs.org/docs/tutorial...g-this-example
main.js
const { app, BrowserWindow, ipcMain } = require('electron')
const path = require('path')
let mainWindow
function createWindow() {
  mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js')
    }
  })
  mainWindow.loadFile('index.html')
  mainWindow.on('closed', function () {
    mainWindow = null
  })

  mainWindow.webContents.openDevTools()
}
app.on('ready', createWindow)
app.on('window-all-closed', function () {
  if (process.platform !== 'darwin') app.quit()
})
app.on('activate', function () {
  if (mainWindow === null) createWindow()
})
ipcMain.on('change-page', (e, arg) => {
  console.log('arg')
  mainWindow.loadFile('index2.html')
})


preload.js
// All of the Node.js APIs are available in the preload process.
// It has the same sandbox as a Chrome extension.

const { ipcRenderer: ipc } = require('electron');
let Data = {
  message: "Hi",
  someData: "Let's go"
};
window.addEventListener('DOMContentLoaded', () => {
  const replaceText = (selector, text) => {
    const element = document.getElementById(selector)
    if (element) element.innerText = text
  }

  for (const type of ['chrome', 'node', 'electron']) {
    replaceText(`${type}-version`, process.versions[type])
  }

  const el = document.querySelector('.change-page')
  console.log('el', el)
  el.addEventListener('click', e => {
    console.log('click')
    ipc.send('change-page', Data);
  });

})


почитать по теме
https://electronjs.org/docs/api/ipc-main
https://electronjs.org/docs/api/ipc-renderer

https://ourcodeworld.com/articles/re...tron-framework

это конечно тупой способ...

лучше прикрутить hyperapp, react, vue, angular с BrowserRouter'ом...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перейти на страницу с аякс-контентом по кнопке назад meAndreas Общие вопросы Javascript 17 15.02.2016 16:15
Переход назад на страницу rvk1986 Javascript под браузер 0 17.01.2016 12:43
Переход на другую страницу Step48_rus AJAX и COMET 5 22.09.2015 13:46
поиск текст - подсветка - переход к найденному rdfhnbhf jQuery 1 05.07.2012 12:49
Мгновенный поиск, подсветка, переход к найденному rdfhnbhf Javascript под браузер 0 05.07.2012 12:28