sakura icon indicating copy to clipboard operation
sakura copied to clipboard

开启PJAX局部刷新后,文章和页面中的短代码无法解析,需手动刷新

Open Starlwr opened this issue 2 years ago • 5 comments

问题描述

安装短代码插件(Shortcoder),并开启PJAX局部刷新后,从首页点开页面或文章,其中的短代码无法解析,效果如下 短代码刷新前 手动刷新后才可以正常显示,效果如下 短代码刷新后 图片中是引入了一个element-ui的测试按钮,在插件中新建短代码,名称为element-button,添加以下代码后保存,即可在文章或页面中使用[sc name="element-button"][/sc]引入

<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<div id="app">
	<el-button @click="visible = true">Button</el-button>
	<el-dialog :visible.sync="visible" title="Hello world">
		<p>test</p>
	</el-dialog>
</div>
<script>
	new Vue({
		el: '#app',
		data: function() {
			return { visible: false }
		}
	})
</script>

Starlwr avatar Jan 15 '22 15:01 Starlwr

需要把相关代码放进重载函数里面,见app.js

mashirozx avatar Jan 16 '22 03:01 mashirozx

看了一下sakura-app.js,但是没太搞明白,是需要把解析短代码相关的函数放在this.pjax = function () 里面吗,如果您知道如何操作的话可否稍微再指点一下

Starlwr avatar Jan 16 '22 05:01 Starlwr

对的,放里面

mashirozx avatar Jan 16 '22 05:01 mashirozx

有无简单的示例?比如就 console.log("每个页面都运行这句") 让每个页面在控制台都输出

smallsay avatar Mar 26 '22 04:03 smallsay

https://github.com/mashirozx/sakura/blob/3.x/js/sakura-app.js#L22-L31

mashirozx avatar Mar 26 '22 09:03 mashirozx