36 lines
865 B
Plaintext
36 lines
865 B
Plaintext
---
|
|
import { commentConfig } from '@/config'
|
|
|
|
interface Props {
|
|
path: string
|
|
}
|
|
|
|
const config = {
|
|
...commentConfig.twikoo,
|
|
el: '#tcomment',
|
|
path: Astro.props.path,
|
|
}
|
|
---
|
|
|
|
<div id="tcomment"></div>
|
|
<script define:vars={{ config }}>
|
|
function loadTwikoo() {
|
|
|
|
// 动态加载 Twikoo 脚本,并在加载完成后执行 twikoo.init
|
|
|
|
const script = document.createElement('script');
|
|
script.src = 'https://blog.mckero.com/twikoo.min.js';
|
|
script.defer = true;
|
|
script.onload = () => {
|
|
if (window.twikoo) {
|
|
window.twikoo.init(config);
|
|
}
|
|
};
|
|
// script.onerror = () => {
|
|
// console.error('Twikoo script load failed');
|
|
// };
|
|
document.body.appendChild(script);
|
|
}
|
|
document.addEventListener("loadComment", loadTwikoo, { once: true }); // 监听加载评论事件,但是我们只能监听一次,从而避免多次触发。
|
|
</script>
|