diff --git a/app/src/protyle/preview/index.ts b/app/src/protyle/preview/index.ts
index db3f72142..cc219db33 100644
--- a/app/src/protyle/preview/index.ts
+++ b/app/src/protyle/preview/index.ts
@@ -34,7 +34,9 @@ export class Preview {
if (protyle.options.classes.preview) {
previewElement.classList.add(protyle.options.classes.preview);
}
- previewElement.style.padding = protyle.wysiwyg.element.style.padding;
+ if (protyle.wysiwyg.element.style.padding) {
+ previewElement.style.padding = protyle.wysiwyg.element.style.padding;
+ }
const actions = protyle.options.preview.actions;
const actionElement = document.createElement("div");
@@ -48,7 +50,7 @@ export class Preview {
}
switch (action) {
case "desktop":
- actionHtml.push('');
+ actionHtml.push(``);
break;
case "tablet":
actionHtml.push('');
@@ -138,11 +140,12 @@ export class Preview {
previewElement.style.width = "360px";
previewElement.style.padding = "8px";
}
- this.render(protyle);
- actionElement.querySelectorAll("button").forEach((item) => {
- item.classList.remove("protyle-preview__action--current");
- });
- target.classList.add("protyle-preview__action--current");
+ if (type !== "mp-wechat" && type !== "zhihu" && type !== "yuque") {
+ actionElement.querySelectorAll("button").forEach((item) => {
+ item.classList.remove("protyle-preview__action--current");
+ });
+ target.classList.add("protyle-preview__action--current");
+ }
}
target = target.parentElement;
}
@@ -224,7 +227,8 @@ export class Preview {
} else if (type === "zhihu") {
this.link2online(copyElement);
copyElement.querySelectorAll('[data-subtype="math"]').forEach((item: HTMLElement) => {
- item.outerHTML = `
`;
+ // https://github.com/siyuan-note/siyuan/issues/10015
+ item.outerHTML = `
`;
});
copyElement.querySelectorAll("blockquote").forEach((item) => {
const elements: HTMLElement[] = [];
@@ -251,7 +255,10 @@ export class Preview {
item.style.backgroundImage = "none";
});
this.element.append(copyElement);
- const cloneRange = getSelection().getRangeAt(0).cloneRange();
+ let cloneRange;
+ if (getSelection().rangeCount > 0) {
+ cloneRange = getSelection().getRangeAt(0).cloneRange();
+ }
const range = copyElement.ownerDocument.createRange();
range.selectNodeContents(copyElement);
focusByRange(range);