From 142e6db407a646bc2c4ffe758df4609e24eebd5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A5=94=E8=B7=91=E7=9A=84=E9=9D=A2=E6=9D=A1?=
<1262327911@qq.com>
Date: Sat, 5 Nov 2022 21:31:42 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E9=A2=84=E8=A7=88?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=9A=84=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/edit/index.vue | 10 +++++-----
src/views/preview/wrapper.vue | 6 +++---
types/global.d.ts | 2 ++
3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/views/edit/index.vue b/src/views/edit/index.vue
index b9534025..b67efa28 100644
--- a/src/views/edit/index.vue
+++ b/src/views/edit/index.vue
@@ -55,8 +55,8 @@ getDataBySession()
// 返回父窗口
function back() {
- opener.name = Date.now()
- window.open(opener.location.href, opener.name)
+ window.opener.name = Date.now()
+ window.open(window.opener.location.href, window.opener.name)
}
// 导入json文本
@@ -71,7 +71,7 @@ async function importJSON() {
}
// 同步 [画布页失去焦点时同步数据到JSON页,JSON页Ctrl+S 时同步数据到画布页]
-opener.addEventListener(SavePageEnum.CHART, (e: any) => {
+window.opener.addEventListener(SavePageEnum.CHART, (e: any) => {
setSessionStorage(StorageEnum.GO_CHART_STORAGE_LIST, [e.detail])
content.value = JSON.stringify(e.detail, undefined, 2)
})
@@ -87,14 +87,14 @@ addEventListener('blur', updateSync)
// 同步更新
function updateSync() {
- if (!opener) {
+ if (!window.opener) {
return window['$message'].error('源窗口已关闭,视图同步失败')
}
try {
const detail = JSON.parse(content.value)
delete detail.id
// 保持id不变
- opener.dispatchEvent(new CustomEvent(SavePageEnum.JSON, { detail }))
+ window.opener.dispatchEvent(new CustomEvent(SavePageEnum.JSON, { detail }))
} catch (e) {
window['$message'].error('内容格式有误')
console.log(e)
diff --git a/src/views/preview/wrapper.vue b/src/views/preview/wrapper.vue
index 242910be..d209438a 100644
--- a/src/views/preview/wrapper.vue
+++ b/src/views/preview/wrapper.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/types/global.d.ts b/types/global.d.ts
index cceade09..1b11026a 100644
--- a/types/global.d.ts
+++ b/types/global.d.ts
@@ -7,6 +7,8 @@ interface Window {
$vue: any
// 键盘按键记录
$KeyboardActive?: { [T: string]: boolean }
+ // 编辑 JSON 的存储对象
+ opener: any
}
declare type Recordable = Record