1

我在 vscode 中显示包含图像的 HTML 预览。
如果要更改 html 内容,我将调用 TextDocumentContentProvider 的更新方法。结果是在 HTML 预览中我看到了更新的文本,但图像仍然是旧的,即使我同时更改了图像文件。关闭预览并重新打开它时,会显示新图像。
如何强制 HTML 预览重新加载图像?

更新代码:

provider = new HeapProvider(); //HeapProvider extends TextDocumentContentProvider
previewUri:string;
method updatePreview(){
  this.provider.update(this.previewUri)
  vscode.commands.executeCommand('vscode.previewHtml', this.previewUri,
    vscode.ViewColumn.Two).then((success) => { }, (reason) => {
      vscode.window.showErrorMessage(reason);
  });
}
4

1 回答 1

0

现在有一个workbench.action.webview.reloadWebviewAction命令可以刷新任何可见的 web 视图。

这仅保证适用于 VS Code 的真实Webview API,不适用于旧previewHtml命令。您还可以再次设置 webview 的内容以强制刷新:webview.webview.html = webview.webview.html

于 2018-10-30T05:09:26.350 回答