script(pjax). (async () => { const emojiReg = /]+ class="wl-emoji">/g if(typeof EasyDanmaku === "undefined") await utils.getScript('!{url_for(theme.cdn.envelope_js)}') const envel = new EasyDanmaku({ page: '!{theme.envelope.page}', el: '#barrage', line: !{line}, speed: !{speed}, hover: !{hover}, loop: !{loop}, }) const data = utils.saveToLocal.get('enevlope') if(data){ envel.batchSend(data,true) return } await fetch('!{theme.waline.envId}/api/comment?type=recent&count=50', {method: 'GET'}).then(async res => res.json()) .then(async data => { let ls = [] for (const i of data.data) { ls.push({ content: i.nick + ': ' + formatContent(i.comment), avatar: i.avatar, url: i.url }) } envel.batchSend(ls,true) utils.saveToLocal.set('enevlope',ls,.02) }).catch(error => { console.error("An error occurred while fetching comments: ", error) }) function formatContent(content) { content = content.replace(emojiReg, '[!{__("console.newest_comment.emoji")}]') content = content.replace(//g, '[!{__("console.newest_comment.image")}]'); content = content.replace(/.*?<\/a>/g, '[!{__("console.newest_comment.link")}]'); content = content.replace(/.*?<\/pre>/g, '[!{__("console.newest_comment.code")}]'); content = content.replace(/<.*?>/g, ''); return content } })()