Электрон: всегда возвращает ontouchstart = true - PullRequest
0 голосов
/ 19 декабря 2018

В настоящее время я работаю над веб-приложением с Electron.Если я открою приложение в обычном браузере Chrome, оно будет работать как положено: щелкнуть как щелчок, коснуться как прикосновение.

Но если я упаковываю его электронным способом, оно работает неправильно - оно всегда возвращает touchstart = true, дажехотя я не нахожусь в инструментах разработки в адаптивном представлении или на устройстве с сенсорным экраном, поэтому щелчки не будут работать.

Это начало моего файла JavaScript:

var selectEvents = (function () {
    if ('ontouchstart' in document === true) {
        return "touchstart";
    } else {
        return "click";
    }
})();

и это мой main.js для электронов

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

// init win
let win;

function createWindow(){
    // create browser window
    win = new BrowserWindow({width:3840, height: 1080, icon:__dirname+'/images/icons/bosch_logo.jpg', kiosk: true});

    // load index.html
    win.loadURL(url.format({
        pathname: path.join(__dirname, 'index.html'),
        protocol: 'file:',
        slashes: true
    }));

    // open devtools
    win.webContents.openDevTools();

    win.on('closed', () => {
        win = null;
    });
}

// Run create window function
app.on('ready', createWindow);


// quit when all windows are closed
app.on('window-all-closed', () => {
    // check for mac osx
    if(process.platform !== 'darwin') {
        app.quit();
    }
})

В моем HTML я создал кнопку с идентификатором 'next-button-1'. После взаимодействия он проверяет в скрипте, является ли это щелчком иликак обычно.Может быть, вы могли бы помочь мне

1 Ответ

0 голосов
/ 19 декабря 2018

Добавлен «сенсорный запуск» при первом возврате.Теперь это работает и на Электрон.Надеюсь, что это надежно.

var selectEvents = (function () {
    if ('ontouchstart' in document === true) {
        return "click touchstart";
    } else {
        return "click";
    }
})();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...