summary refs log tree commit diff
path: root/assets/js/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js/main.js')
-rw-r--r--assets/js/main.js102
1 files changed, 10 insertions, 92 deletions
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 => ({
-            '&': '&amp;',
-            '<': '&lt;',
-            '>': '&gt;',
-            '"': '&quot;',
-            "'": '&#39;'
-        }[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, '<mark>$1</mark>');
-                    $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);