Как я могу установить фокус на элемент управления HTML в электронной структуре? - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь установить фокус на элементе управления в Electron при загрузке исходного BrowserWindow.

Я знаю, что есть альтернативные способы сделать это с помощью jQuery, JavaScript и т. Д., НоЕсть что-то конкретное, предоставляемое платформой Electron?

Я попытался сфокусировать элемент управления с помощью jQuery / JavaScript, но, похоже, они не работают в Electron.

Вот мой код для настройки Electronво входном файле JS app.js: -

const electron = require('electron');
const path = require('path');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
nativeImage.createFromPath(path.join(__dirname,"demo.png"))
app.on('ready', () => {
    window = new BrowserWindow({
        width: 650,
        height: 120,
        transparent:true,
        frame: false,
    });
    window.loadURL(`file://${__dirname}/Wepage.html`);
});

А вот мой html:

<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $('#googleFrame').focus();
        });

    </script>
    <style>
        body {
            width: 300px;
            height:100px;
            margin: 0px;
            padding: 0px;
            overflow-x: hidden;
            /* overflow-y: hidden; */
        }

        iframe {
            position: relative;
            overflow: hidden;
        }

        body {
            background: transparent;
            background: rgba(255, 255, 255, 0.1);
        }

        iframe {
            top: 450px;
            border: 20px solid black;
            opacity: 0.1;
        }

        .draggable-area {
            -webkit-app-region: drag;
        }
    </style>
  </head>

  <body class="draggable-area">
    <center class="draggable-area">
      <iframe frameborder="0" scrolling="no" seamless="seamless"
                    src="https://www.google.com"
                    width="600" height="60"
                    id="googleFrame"></iframe>
    </center>      
  </body>
</html>

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

можно использовать автофокус

<iframe frameborder="0" scrolling="no" seamless="seamless"
                    src="https://www.google.com"
                    width="600" height="60"
                    id="googleFrame" autofocus ></iframe>
0 голосов
/ 25 марта 2019

В "представлениях" ElectronJ нет ничего конкретного, это просто обычный html, css и javascript.

Вы уверены, что ваш код выполняется вообще? Странно ставить его после закрытия тега body.

Вы пытались сфокусироваться на чем-то другом, например, сделать элемент кнопки и попытаться сфокусироваться на этом?

...