diff --git a/package.json b/package.json index be4384e..4397235 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hexo-theme-mengd", - "version": "1.8.1", + "version": "1.8.2", "description": "A simple, lightweight Hexo theme", "main": "package.json", "scripts": {}, diff --git a/source/js/search.js b/source/js/search.js index 07eac7b..18eca1b 100644 --- a/source/js/search.js +++ b/source/js/search.js @@ -11,94 +11,108 @@ try { /** * 本地搜索 * 来源于hexo-butterfly - * 由Lete乐特进行小型改动 + * 由Lete乐特进行小改动 * @param {*} path 文件路径 */ async function search(path) { - const suffix = path.split('.')[1] - let datas = [] - const response = await fetch(path) + try { + var $resultContent = $id(contentId) + $resultContent.insertAdjacentHTML('beforeBegin', '') - if (suffix == 'json') datas = await response.json() - if (suffix == 'xml') { - const result = await response.text() - const DOM = new window.DOMParser() - const data = DOM.parseFromString(result, 'text/xml') - datas = [...data.querySelectorAll('entry')].map((item) => { - return { - title: item.querySelector('title').textContent, - content: item.querySelector('content').textContent, - url: item.querySelector('url').textContent - } - }) - } + const suffix = path.split('.')[1] + let datas = [] + const response = await fetch(path) + + if (suffix == 'json') datas = await response.json() + if (suffix == 'xml') { + const result = await response.text() + const DOM = new window.DOMParser() + const data = DOM.parseFromString(result, 'text/xml') + datas = [...data.querySelectorAll('entry')].map((item) => { + return { + title: item.querySelector('title').textContent, + content: item.querySelector('content').textContent, + url: item.querySelector('url').textContent + } + }) + } - if (datas.length) isLoad = true + if (datas.length) isLoad = true + // 删掉加载动画 + const pulse = $query('i.fa-pulse') + pulse.parentElement.removeChild(pulse) - var $input = $id(searchId) - var $resultContent = $id(contentId) - $input.addEventListener('input',function () { - var str = '' + $resultContent.innerHTML = str + window.pjax && window.pjax.refresh($resultContent) + } + } catch (error) { + isLoad = false + } } // 显示搜索框