Я создал простую демонстрацию, модифицированную с помощью официального экземпляра 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
проблема: при переключении веб-просмотра плагин передает сигнал веб-просмотру через сообщение и активно просит ввод веб-просмотра снова сфокусироваться. Вместо фокусировки ввода после щелчка мышью на экране