From ac554c55359912bf8928b51d6692f9d8fbd8c6b9 Mon Sep 17 00:00:00 2001 From: mayx Date: Sun, 11 May 2025 16:12:22 +0000 Subject: Update 3 files - /assets/js/main.js - /assets/js/main_new.js - /_layouts/default.html--- assets/js/main.js | 102 ++++++------------------------------------------------ 1 file changed, 10 insertions(+), 92 deletions(-) (limited to 'assets/js/main.js') diff --git a/assets/js/main.js b/assets/js/main.js index 644e2b6..3a17db6 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -13,28 +13,19 @@ var talkAPI = BlogAPI + "/ai_chat"; $(function () { $backToTopFun(); }); })(); $(function () { - $("div#landlord").mouseenter(function () { - $("div.live_ico_box").fadeIn(); - }); - $("div#landlord").mouseleave(function () { - $("div.live_ico_box").fadeOut(); - }); - function showHitS(hits) { - $.get(BlogAPI + "/count_click?id=" + hits.id, function (data) { - hits.innerHTML = Number(data); - }); - } function showHitCount() { - var visitors = $(".visitors-index"); - for (var i = 0; i < visitors.length; i++) { - showHitS(visitors[i]); - } - + $(".visitors-index").each(function() { + var $elem = $(this); + $.get(BlogAPI + "/count_click?id=" + $elem.attr('id'), function(data) { + $elem.text(Number(data)); + }); + }); } + function addCount() { - var visitors = $(".visitors"); - $.get(BlogAPI + "/count_click_add?id=" + visitors[0].id, function (data) { - visitors[0].innerHTML = Number(data); + var $visitor = $(".visitors:first"); + $.get(BlogAPI + "/count_click_add?id=" + $visitor.attr('id'), function(data) { + $visitor.text(Number(data)); }); } if ($('.visitors').length == 1) { @@ -44,79 +35,6 @@ $(function () { } }); -$(function () { - const urlParams = new URLSearchParams(window.location.search); - const keyword = urlParams.get('kw')?.trim(); - - if (!keyword) return; - - // 转义正则表达式特殊字符,避免安全问题 - const escapedKeyword = keyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); - // 创建不区分大小写的正则表达式(全局匹配) - const regex = new RegExp(`(${escapedKeyword})`, 'gi'); - - // 递归遍历并高亮文本节点 - const escapeHTML = str => str.replace(/[&<>"']/g, - tag => ({ - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }[tag] || tag)); - function highlightTextNodes(element) { - $(element).contents().each(function () { - if (this.nodeType === Node.TEXT_NODE) { - const $this = $(this); - const text = escapeHTML($this.text()); - - // 使用正则替换并保留原始大小写 - if (regex.test(text)) { - const replaced = text.replace(regex, '$1'); - $this.replaceWith(replaced); - } - } else if ( - this.nodeType === Node.ELEMENT_NODE && - !$(this).is('script, style, noscript, textarea') - ) { - highlightTextNodes(this); - } - }); - } - - $('section').each(function () { - highlightTextNodes(this); - }); -}); -$(function () { - var codeBlocks = document.querySelectorAll('div.highlight'); - - codeBlocks.forEach(function (codeBlock) { - var copyButton = document.createElement('button'); - copyButton.className = 'copy'; - copyButton.type = 'button'; - copyButton.innerText = '📋'; - - codeBlock.append(copyButton); - - copyButton.addEventListener('click', function () { - var code = codeBlock.querySelector('pre code').innerText.trim(); - window.navigator.clipboard.writeText(code) - .then(() => { - copyButton.innerText = '✅'; - }) - .catch(err => { - copyButton.innerText = '❌'; - console.error('Failed to copy:', err); - }); - - setTimeout(function () { - copyButton.innerText = '📋'; - }, 1500); - }); - }); -}); - today = new Date(); timeold = (today.getTime() - lastUpdated.getTime()); secondsold = Math.floor(timeold / 1000); -- cgit 1.4.1-2-gfad0