Encouter предотвратил навигацию веб-просмотра при использовании API веб-просмотра - PullRequest
0 голосов
/ 04 января 2019

Привет! Я использую vscode webview api для показа некоторых веб-страниц с локального сервера.

ключевая часть (форма) исходного кода веб-страницы выглядит следующим образом.Он имеет кнопку и запустит запрос на публикацию при нажатии.поэтому он может обновлять свой контент

<form method="POST" action="">
    <div class="form-group"><label for="start">Start Date:</label><input id="name" type="date" name="start" value="2019-01-01"
            class="form-control"><label for="end">End Date:</label><input id="name" type="date" name="end" value="2019-01-04"
            class="form-control"></div><button type="submit" class="btn btn-primary">generate report</button>

, он прекрасно работает при открытии в браузере.Но при запуске его в vscode ничего не отображается, и vscode говорит мне, что он предотвращал навигацию по веб-просмотру при использовании webview api

часть кода, которая использует webview api, выглядит следующим образом

    public async showDetailedReport(){
    const param: IRequestParam ={
        endpoint:'localhost',
        method:'GET',
        port:23333,
        path:'/report/detailReport'
    };
    try{
        const html: string = await sendRequest(param);
        const panel = vscode.window.createWebviewPanel(
            'Report',
            'Report',
            vscode.ViewColumn.One,
            {
                enableScripts:true,
            }
        );
        panel.webview.html = html;
    } catch(e){
        await vscode.window.showErrorMessage(e);
    }
}

Так что мой вопросВот почему это происходит и как решить, что я имею в виду, чтобы отправить сообщение или перенаправить на другие веб-страницы.Все может быть полезным.Спасибо с благодарностью.

1 Ответ

0 голосов
/ 08 января 2019

Начиная с кода VS 1.31, веб-просмотры могут отображать только страницу HTML-содержимого и не могут переходить на другие ресурсы (например, отправлять POST-запрос с помощью формы).

Вы по-прежнему можете делать запросы, используя fetch или аналогичные API, но стандартная форма отправки POST не будет работать.

...