Прослушиватель событий в vscode api для гиперссылки в webview - PullRequest
0 голосов
/ 15 февраля 2019

Я довольно новичок в разработке расширения VSCode, для моего расширения мне нужно прослушать щелчок гиперссылки на vscode.WebviewPanel и после этого мне нужно изменить поведение по умолчанию действия щелчка гиперссылки.Так есть ли в vscode api прослушиватель событий, который срабатывает при нажатии гиперссылки на веб-просмотр?

1 Ответ

0 голосов
/ 17 февраля 2019

Веб-просмотры похожи на веб-страницы, встроенные в редактор.Вы можете зарегистрировать обработчик кликов в своем скрипте веб-просмотра, который перехватывает клики так же, как и на обычной веб-странице:

// In your webview script
const vscode = acquireVsCodeApi();

document.addEventListener('click', event => {
    let node = event && event.target;
    while (node) {
        if (node.tagName && node.tagName === 'A' && node.href) {
            // Handle click here by posting data back to VS Code
            // for your extension to handle
            vscode.postMessage({ ... });
            event.preventDefault();
            return;
        }
        node = node.parentNode;
    }
}, true);
...