Как исправить "элементы ввода, не работающие должным образом в электронном веб-просмотре" - PullRequest
0 голосов
/ 31 октября 2019

Я создаю приложение WebView для своего веб-сайта с использованием «электрона», и я хотел, чтобы в нем были окна с вкладками, я выбрал «электронная навигация», которая работала нормально, но внутри веб-элемента ввода элементы веб-сайта не работалиработать, кроме элемента «select», и некоторые из них начинают работать, когда я «размываю» WebView, то есть фокусируюсь на другом приложении или рабочем столе и перефокусирую его, он начинает работать, но textarea никогда не работает…. Пожалуйста, помогите мне

Я попытался найти решение внутри кода, но не смог найти ни одной идеи, и я тоже всю ночь гуглял, но не повезло

Это Index.html

<div id="nav-body-tabs"></div>

<div id="nav-body-ctrls"></div>

<div id="nav-body-view-wrapper">
  <div id="nav-body-views"></div>
</div>

это index.js

     const path = require('path')
        const url = require('url')
        const { ipcRenderer } = require('electron')

        document.getElementById('nav-body-views').style.position = 'absolute'
        document.getElementById('nav-body-views').style.width = '100%'
        document.getElementById('nav-body-views').style.height = '100%'

        const navDefaultURL = url.format({
          pathname: 'vclass.us/user/login',
          protocol: 'https',
          slashes: true
        })
        const enav = new (require('electron-navigation'))({
          newTabParams: [navDefaultURL]
        })
        enav.newTab(navDefaultURL, {
          id: "test",
          title: 'vClass',
          icon: 'default',
          close: true,
          readonlyUrl: true,
          contextMenu: true
        })
        enav.openDevTools("test")
        });

Это Electron.js

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

    let win;

function createWindow() {
  win = new BrowserWindow({
    title: 'vClass',
    width: 960,
    height: 540,
    webPreferences: { nodeIntegration: true, webviewTag: true },
    show: false,
    center: true,
    minWidth: 640,
    minHeight: 360,
    titleBarStyle: 'hidden',
    icon: path.join(__dirname, 'assets/icons/png/64x64.png')
  });

  win.setMenuBarVisibility(false)

  win.once('ready-to-show', () => {
    win.show()
  })
  win.on('closed', () => {
    win = null
  })
  win.loadURL(`file://${__dirname}../../assets/index.html`)
}

app.on('ready', createWindow);


app.on('activate', () => {
  if (win === null) {
    createWindow()
  }
})


let link;

app.on('open-url', function (event, data) {
  event.preventDefault();
  link = data;
});

app.setAsDefaultProtocolClient('vClass');

module.exports.getLink = () => link;

`

Я ожидаю результатов, что входы должны быть кликабельными, как обычно, в браузере

Примечание: все работает нормально, когда я напрямую загружаюURL из электрона, но не работает в веб-просмотре

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...