From 59f1e155e62b50c5f45a933ea1b1227fde5d1134 Mon Sep 17 00:00:00 2001 From: zxhd863943427 <74853597+zxhd863943427@users.noreply.github.com> Date: Thu, 23 Nov 2023 23:06:55 +0800 Subject: [PATCH] run js enhance (#9729) --- app/src/protyle/render/blockRender.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/protyle/render/blockRender.ts b/app/src/protyle/render/blockRender.ts index 12d193a87..8b5588eca 100644 --- a/app/src/protyle/render/blockRender.ts +++ b/app/src/protyle/render/blockRender.ts @@ -1,5 +1,5 @@ import {hasClosestByAttribute, hasTopClosestByClassName} from "../util/hasClosest"; -import {fetchPost} from "../../util/fetch"; +import {fetchPost, fetchSyncPost} from "../../util/fetch"; import {processRender} from "../util/processCode"; import {highlightRender} from "./highlightRender"; import {Constants} from "../../constants"; @@ -43,7 +43,12 @@ export const blockRender = (protyle: IProtyle, element: Element, top?: number) = } if (content.startsWith("//!js")) { try { - const includeIDs = new Function(content)(); + const includeIDs = new Function( + "fetchSyncPost", + "item", + "protyle", + "top", + content)(fetchSyncPost,item,protyle,top); if (includeIDs instanceof Promise) { includeIDs.then((promiseIds) => { if (Array.isArray(promiseIds)) { @@ -56,7 +61,7 @@ export const blockRender = (protyle: IProtyle, element: Element, top?: number) = renderEmbed(response.data.blocks || [], protyle, item, top); }); } else { - renderEmbed([], protyle, item, top); + return; } }).catch(() => { renderEmbed([], protyle, item, top); @@ -71,7 +76,7 @@ export const blockRender = (protyle: IProtyle, element: Element, top?: number) = renderEmbed(response.data.blocks || [], protyle, item, top); }); } else { - renderEmbed([], protyle, item, top); + return; } } catch (e) { renderEmbed([], protyle, item, top);