diff --git a/components/NotionPage.js b/components/NotionPage.js
index 4d362180..e2e70971 100644
--- a/components/NotionPage.js
+++ b/components/NotionPage.js
@@ -10,11 +10,11 @@ const Code = dynamic(() =>
import('react-notion-x/build/third-party/code').then((m) => m.Code), { ssr: true }
)
const Collection = dynamic(() =>
- import('react-notion-x/build/third-party/collection').then((m) => m.Collection), { ssr: false }
+ import('react-notion-x/build/third-party/collection').then((m) => m.Collection), { ssr: true }
)
const Equation = dynamic(() =>
- import('react-notion-x/build/third-party/equation').then((m) => m.Equation), { ssr: false }
+ import('react-notion-x/build/third-party/equation').then((m) => m.Equation), { ssr: true }
)
const Pdf = dynamic(
diff --git a/themes/next/components/WordCount.js b/themes/next/components/WordCount.js
index 7188d90c..bad2cf3a 100644
--- a/themes/next/components/WordCount.js
+++ b/themes/next/components/WordCount.js
@@ -7,7 +7,7 @@ import { useEffect } from 'react'
export default function WordCount() {
useEffect(() => {
countWords()
- }, [])
+ })
return
本文字数 0 | 阅读时长 ≈ 0 分钟
@@ -18,26 +18,29 @@ export default function WordCount() {
* 更新字数统计和阅读时间
*/
function countWords() {
- const articleElement = document.getElementById('notion-article')
- if (articleElement) {
- const articleText = deleteHtmlTag(articleElement.innerHTML)
- const wordCount = fnGetCpmisWords(articleText)
- // 阅读速度 300-500每分钟
- document.getElementById('wordCount').innerHTML = wordCount
- document.getElementById('readTime').innerHTML = Math.floor(wordCount / 400) + 1
- const wordCountWrapper = document.getElementById('wordCountWrapper')
- wordCountWrapper.classList.remove('hidden')
- }
+ const articleText = deleteHtmlTag(document.getElementById('notion-article')?.innerHTML)
+ const wordCount = fnGetCpmisWords(articleText)
+ // 阅读速度 300-500每分钟
+ document.getElementById('wordCount').innerHTML = wordCount
+ document.getElementById('readTime').innerHTML = Math.floor(wordCount / 400) + 1
+ const wordCountWrapper = document.getElementById('wordCountWrapper')
+ wordCountWrapper.classList.remove('hidden')
}
// 去除html标签
function deleteHtmlTag(str) {
+ if (!str) {
+ return ''
+ }
str = str.replace(/<[^>]+>|&[^>]+;/g, '').trim()// 去掉所有的html标签和 之类的特殊符合
return str
}
// 用word方式计算正文字数
function fnGetCpmisWords(str) {
+ if (!str) {
+ return 0
+ }
let sLen = 0
try {
// eslint-disable-next-line no-irregular-whitespace