mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2026-04-16 19:10:53 +08:00
breaking change:
1. 部分配置更改 feat: 1. 移除 messenger 聊天插件 2. 更新 fackbook 版本號 3. 增加 香港繁體、日文和韓語 4. 使用的新的複製api 代替舊的 5. 增加 umami 分析 6. 增加 umami 獲取訪問量/訪客數 7. snackbar 增加透明度 8. 文章頁下, nav fixed 下 顯示文章標題 improvement: 1. 代碼優化 2. 修改部分用語 3. 回復之前的相對時間邏輯 4. timeline tag 樣式優化 5. 優化 seo 6. 優化 artalk 的最新評論 fix: 1. tag-hide toggle 圓角問題 2. lazyload 為 false 時,artalk 無法正常加載評論的 bug 3. 修復 gallery 出現抖動的 bug
This commit is contained in:
@@ -20,19 +20,31 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
}
|
||||
|
||||
const translateBody = (fobj) => {
|
||||
const objs = typeof fobj === 'object' ? fobj.childNodes : document.body.childNodes
|
||||
for (let i = 0; i < objs.length; i++) {
|
||||
const obj = objs.item(i)
|
||||
if ('BR|HR'.includes(obj.tagName) || obj === translateButtonObject) continue
|
||||
const nodes = typeof fobj === 'object' ? fobj.childNodes : document.body.childNodes
|
||||
|
||||
if (obj.title) obj.title = translateText(obj.title)
|
||||
if (obj.alt) obj.alt = translateText(obj.alt)
|
||||
if (obj.placeholder) obj.placeholder = translateText(obj.placeholder)
|
||||
if (obj.tagName === 'INPUT' && obj.value && obj.type !== 'text' && obj.type !== 'hidden') {
|
||||
obj.value = translateText(obj.value)
|
||||
for (const node of nodes) {
|
||||
// Skip BR, HR tags, or the translate button object
|
||||
if (['BR', 'HR'].includes(node.tagName) || node === translateButtonObject) continue
|
||||
|
||||
if (node.nodeType === Node.ELEMENT_NODE) {
|
||||
const { tagName, title, alt, placeholder, value, type } = node
|
||||
|
||||
// Translate title, alt, placeholder
|
||||
if (title) node.title = translateText(title)
|
||||
if (alt) node.alt = translateText(alt)
|
||||
if (placeholder) node.placeholder = translateText(placeholder)
|
||||
|
||||
// Translate input value except text and hidden types
|
||||
if (tagName === 'INPUT' && value && type !== 'text' && type !== 'hidden') {
|
||||
node.value = translateText(value)
|
||||
}
|
||||
|
||||
// Recursively translate child nodes
|
||||
translateBody(node)
|
||||
} else if (node.nodeType === Node.TEXT_NODE) {
|
||||
// Translate text node data
|
||||
node.data = translateText(node.data)
|
||||
}
|
||||
if (obj.nodeType === 3) obj.data = translateText(obj.data)
|
||||
else translateBody(obj)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user