提交 11c45172 编写于 作者: M Matt Bierner

Fix potential race detecting image load

上级 7aff0c42
......@@ -58,7 +58,8 @@
20
];
const isMac = getSettings().isMac;
const settings = getSettings();
const isMac = settings.isMac;
const vscode = acquireVsCodeApi();
......@@ -71,7 +72,7 @@
// Elements
const container = /** @type {HTMLElement} */(document.querySelector('body'));
const image = document.querySelector('img');
const image = document.createElement('img');
function updateScale(newScale) {
if (!image || !image.parentElement) {
......@@ -248,6 +249,9 @@
}
});
image.src = decodeURI(settings.src);
document.body.append(image);
window.addEventListener('message', e => {
switch (e.data.type) {
case 'setScale':
......
......@@ -80,7 +80,8 @@ export class Preview extends Disposable {
private getWebiewContents(webviewEditor: vscode.WebviewEditor, resource: vscode.Uri): string {
const settings = {
isMac: process.platform === 'darwin'
isMac: process.platform === 'darwin',
src: encodeURI(webviewEditor.webview.asWebviewUri(resource).toString(true))
};
return /* html */`<!DOCTYPE html>
......@@ -95,7 +96,6 @@ export class Preview extends Disposable {
<meta id="image-preview-settings" data-settings="${escapeAttribute(JSON.stringify(settings))}">
</head>
<body class="container image scale-to-fit">
<img src="${escapeAttribute(webviewEditor.webview.asWebviewUri(resource))}">
<script src="${escapeAttribute(this.extensionResource('/media/main.js'))}"></script>
</body>
</html>`;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册