вход не может сфокусироваться при переключении веб-просмотра - PullRequest
1 голос
/ 11 ноября 2019

Я создал простую демонстрацию, модифицированную с помощью официального экземпляра webview, пожалуйста, помогите взглянуть на эту проблему: https://github.com/roguexiaohuihui/input-focus

демо-контент

1 、Запустите Cat Coding: Start cat coding session для создания веб-просмотра.

при первом создании веб-просмотра фокус будет нормальным

2 、 Повторите попытку Cat Coding: Start cat coding session для создания веб-просмотра.

фокусировка нормальная

3 、 При переключении на веб-просмотр на шаге 1 этот фокус не работает

Я прослушал событие переключения и отправил сообщение в Интернет, чтобы сделать его фокусом, но фокус не сработал

    this._panel.onDidChangeViewState(
        e => {
            if (this._panel.visible) {
                this._panel.webview.postMessage({ command: 'showFocus' });
                this._update();
            }
        },
        null,
        this._disposables
    );

media / main.js:

var input = document.getElementById('input_1')
input.focus()
window.addEventListener('message', event => {
    const message = event.data
    switch (message.command) {
        case 'showFocus':
            console.log('showFocus')
            console.log('input:', input)
            input.focus()  //It doesn't work here
            break
    }
})

vscode адрес проблемы сообщества:

https://github.com/microsoft/vscode/issues/84216

проблема: при переключении веб-просмотра плагин передает сигнал веб-просмотру через сообщение и активно просит ввод веб-просмотра снова сфокусироваться. Вместо фокусировки ввода после щелчка мышью на экране

...