Ẩn liên kết nếu không update sau 1 khoảng thời gian

Giới thiệu

Tự ẩn liên kết nếu không update sau 1 khoảng thời gian
  • Áp dụng cho blogspot nào đang sử dụng widget Bloglist để làm Liên kết link
  • Tự động ẩn các blog không update trong khoảng thời gian cài đặt
  • Sau này họ có bài viết mới lại tự động hiển thị
  • Có thể loại trừ không ẩn cho các blog đặc biệt

Cài đặt

ngày

Blog không update trong 365 ngày (12 tháng) sẽ bị ẩn

Lưu ý: Nếu không thêm website vào whitelist, tất cả blog không update trong khoảng thời gian cài đặt sẽ bị ẩn

Thông tin:

  • • Ẩn blog sau: 365 ngày (12 tháng)
  • • Website loại trừ: Không có

Code



<script>
    let whitelist = [];

    function updateDaysDisplay() {
      const days = parseInt(document.getElementById('daysInput').value) || 1;
      document.getElementById('daysDisplay').textContent = days;
      document.getElementById('monthsDisplay').textContent = Math.floor(days / 30);
      document.getElementById('infoThreshold').textContent = days;
      document.getElementById('infoMonths').textContent = Math.floor(days / 30);
      updateScript();
    }

    function setDays(days) {
      document.getElementById('daysInput').value = days;
      document.querySelectorAll('.btn-option').forEach(btn => btn.classList.remove('active'));
      event.target.classList.add('active');
      updateDaysDisplay();
    }

    function addWhitelist() {
      const input = document.getElementById('whitelistInput');
      const domain = input.value.trim();
      if (domain && !whitelist.includes(domain)) {
        whitelist.push(domain);
        input.value = '';
        renderWhitelist();
        updateScript();
      }
    }

    function removeWhitelist(domain) {
      whitelist = whitelist.filter(d => d !== domain);
      renderWhitelist();
      updateScript();
    }

    function renderWhitelist() {
      const container = document.getElementById('whitelistContainer');
      const alert = document.getElementById('whitelistAlert');

      if (whitelist.length > 0) {
        container.innerHTML = `
          <div class="whitelist-container">
            <div class="whitelist-header">Danh sách loại trừ (${whitelist.length}):</div>
            <div class="whitelist-items">
              ${whitelist.map(domain => `
                <div class="whitelist-item">
                  <span>${domain}</span>
                  <button onclick="removeWhitelist('${domain}')">×</button>
                </div>
              `).join('')}
            </div>
          </div>
        `;
        alert.style.display = 'none';
      } else {
        container.innerHTML = '';
        alert.style.display = 'block';
      }

      document.getElementById('infoWhitelist').textContent =
        whitelist.length > 0 ? whitelist.length : 'Không có';
    }

    function generateScript() {
      const days = parseInt(document.getElementById('daysInput').value) || 365;
      const whitelistArray = whitelist.length > 0
        ? `[\n    '${whitelist.join("',\n    '")}'\n  ]`
        : '[]';

      return `<script>
//<![CDATA[
(function() {
  var whitelist = ${whitelistArray};

  function hideOldBlogs() {
    var widgets = document.querySelectorAll('.BlogList');
    if (widgets.length === 0) return;

    for (var w = 0; w < widgets.length; w++) {
      var items = widgets[w].querySelectorAll('li');

      for (var i = 0; i < items.length; i++) {
        var item = items[i];
        var link = item.querySelector('.blog-content a, a');
        var timeSpan = item.querySelector('.item-time');

        if (timeSpan && link) {
          var blogUrl = link.getAttribute('href') || '';
          var isWhitelisted = false;

          for (var j = 0; j < whitelist.length; j++) {
            if (blogUrl.indexOf(whitelist[j]) > -1) {
              isWhitelisted = true;
              break;
            }
          }

          if (isWhitelisted) {
            continue;
          }

          var timeText = timeSpan.textContent.trim();
          var daysAgo = 0;

          if (timeText.indexOf('giờ') > -1 || timeText.indexOf('hour') > -1) {
            daysAgo = parseInt(timeText) / 24;
          } else if (timeText.indexOf('ngày') > -1 || timeText.indexOf('day') > -1) {
            daysAgo = parseInt(timeText);
          } else if (timeText.indexOf('tuần') > -1 || timeText.indexOf('week') > -1) {
            daysAgo = parseInt(timeText) * 7;
          } else if (timeText.indexOf('tháng') > -1 || timeText.indexOf('month') > -1) {
            daysAgo = parseInt(timeText) * 30;
          } else if (timeText.indexOf('năm') > -1 || timeText.indexOf('year') > -1) {
            daysAgo = parseInt(timeText) * 365;
          }

          if (daysAgo >= ${days}) {
            item.style.setProperty('display', 'none', 'important');
          }
        }
      }
    }
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', hideOldBlogs);
  } else {
    hideOldBlogs();
  }

  setTimeout(hideOldBlogs, 500);
  setTimeout(hideOldBlogs, 1500);
})();
//]]>
<\/script>`;
    }

    function updateScript() {
      document.getElementById('scriptOutput').textContent = generateScript();
    }

    document.getElementById('daysInput').addEventListener('input', updateDaysDisplay);
    document.getElementById('whitelistInput').addEventListener('keypress', (e) => {
      if (e.key === 'Enter') addWhitelist();
    });

    updateDaysDisplay();
</script>

1 تعليقات

✔ Bình luận có dấu, lịch sự và đúng chủ đề
❌ Không spam link, quảng cáo, từ ngữ phản cảm
❌ Không hỏi link tải, crack, nội dung vi phạm
⚠ Bình luận vi phạm sẽ bị xóa mà không báo trước

Thêm hình ảnh: [img] link hình ảnh [/img]
Thêm video youtube: [youtube] link video [/youtube]
Thêm code: [code] Đoạn code đã mã hóa [/code]

  1. Mọi người không hiểu ở đâu thì có thể gửi câu hỏi ở đây mình giúp nhé. :) Demo phần liên kết bạn bè trên blog mình :D

    ردحذف

إرسال تعليق

✔ Bình luận có dấu, lịch sự và đúng chủ đề
❌ Không spam link, quảng cáo, từ ngữ phản cảm
❌ Không hỏi link tải, crack, nội dung vi phạm
⚠ Bình luận vi phạm sẽ bị xóa mà không báo trước

Thêm hình ảnh: [img] link hình ảnh [/img]
Thêm video youtube: [youtube] link video [/youtube]
Thêm code: [code] Đoạn code đã mã hóa [/code]

أحدث أقدم