diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2020-04-13 23:46:53 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2020-04-13 23:46:53 +0900 |
| commit | a19e252c9e7e1d892a383641a50e1455bb68e332 (patch) | |
| tree | 9bacfc5e334791705de73f4fdf2643445b694b2f /src/client/components/page | |
| parent | モデレーション周りのv11の機能復元 (#6249) (diff) | |
| download | misskey-a19e252c9e7e1d892a383641a50e1455bb68e332.tar.gz misskey-a19e252c9e7e1d892a383641a50e1455bb68e332.tar.bz2 misskey-a19e252c9e7e1d892a383641a50e1455bb68e332.zip | |
feat(client): Improve pages aiscript
Diffstat (limited to 'src/client/components/page')
| -rw-r--r-- | src/client/components/page/page.vue | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/client/components/page/page.vue b/src/client/components/page/page.vue index 0f1769fc8f..3723fcd3ce 100644 --- a/src/client/components/page/page.vue +++ b/src/client/components/page/page.vue @@ -26,7 +26,7 @@ class Script { this.aoiScript = aoiScript; this.onError = onError; - if (this.page.script) { + if (this.page.script && this.aoiScript.aiscript) { let ast; try { ast = parse(this.page.script); @@ -49,8 +49,10 @@ class Script { });*/ }); } else { - this.eval(); - cb(); + setTimeout(() => { + this.eval(); + cb(); + }, 1); } } @@ -71,7 +73,7 @@ class Script { } public callAiScript(fn: string) { - this.aoiScript.aiscript.execFn(this.aoiScript.aiscript.scope.get(fn), []); + if (this.aoiScript.aiscript) this.aoiScript.aiscript.execFn(this.aoiScript.aiscript.scope.get(fn), []); } } @@ -103,18 +105,23 @@ export default Vue.extend({ randomSeed: Math.random(), visitor: this.$store.state.i, page: this.page, - url: url + url: url, + enableAiScript: !this.$store.state.device.disablePagesScript }), e => { console.dir(e); }, () => { this.script = s; }); - s.aoiScript.aiscript.scope.opts.onUpdated = (name, value) => { + if (s.aoiScript.aiscript) s.aoiScript.aiscript.scope.opts.onUpdated = (name, value) => { s.eval(); }; }, + beforeDestroy() { + if (this.script.aoiScript.aiscript) this.script.aoiScript.aiscript.abort(); + }, + methods: { getPageVars() { return collectPageVars(this.page.content); |