fix(editor): clear the opener after the example code is loaded
diff --git a/src/common/helper.js b/src/common/helper.js
index 02fdae6..7d43fb8 100644
--- a/src/common/helper.js
+++ b/src/common/helper.js
@@ -113,7 +113,7 @@
);
}
-export function isOpenedByEChartsWebsite() {
+export function isTrustedOpener() {
try {
return (
window.opener && window.opener.origin === 'https://echarts.apache.org'
diff --git a/src/common/store.js b/src/common/store.js
index b006cc7..d9ce3c6 100644
--- a/src/common/store.js
+++ b/src/common/store.js
@@ -2,7 +2,7 @@
import { URL_PARAMS } from '../common/config';
import CHART_LIST from '../data/chart-list-data';
import CHART_LIST_GL from '../data/chart-list-data-gl';
-import { compressStr, decompressStr, isOpenedByEChartsWebsite } from './helper';
+import { compressStr, decompressStr, isTrustedOpener } from './helper';
import { customAlphabet } from 'nanoid';
const nanoid = customAlphabet('1234567890abcdefghijklmnopqrstuvwxyz', 10);
@@ -115,7 +115,9 @@
// PENDING fallback to `c` if the decompressed code is not available?
const code = decompressStr(URL_PARAMS.code);
// not considered as shared code if it's opened by echarts website like echarts-doc
- store.isSharedCode = !isOpenedByEChartsWebsite() && !!code;
+ store.isSharedCode = !isTrustedOpener() && !!code;
+ // clear the opener
+ window.opener = null;
return code
? resolve(code)
: reject('code was decompressed but got nothing');