var originalShowHideGrpep = window.showhidegrpep; var expandedButtons = new Set(); function getResetTime() { var now = new Date(); var resetTime = new Date(now); resetTime.setHours(0, 0, 0, 0); if (now > resetTime) { resetTime.setDate(resetTime.getDate() + 1); } return resetTime; } function forceResetDownloadCount() { var currentDate = new Date().toDateString(); var lastResetDate = localStorage.getItem('lastResetDate'); if (currentDate !== lastResetDate) { localStorage.setItem('lastResetDate', currentDate); var refreshUrl = window.location.href; if (refreshUrl.indexOf('?') > -1) { refreshUrl += '&_nocache=' + Date.now(); } else { refreshUrl += '?_nocache=' + Date.now(); } window.location.replace(refreshUrl); } } function c4dCopyToClipboard(text) { if (!text) return; if (navigator.clipboard) { navigator.clipboard.writeText(text).then(function () { c4dShowCopyTip('已复制: ' + text); }).catch(function (err) { fallbackCopyText(text); }); } else { fallbackCopyText(text); } function fallbackCopyText(txt) { var input = document.createElement('textarea'); input.value = txt; document.body.appendChild(input); input.select(); try { document.execCommand('copy'); c4dShowCopyTip('已复制: ' + txt); } catch (e) { alert('复制失败,请手动复制: ' + txt); } document.body.removeChild(input); } } function c4dShowCopyTip(msg) { if (window.__copyTipTimeout) clearTimeout(window.__copyTipTimeout); var tip = document.getElementById('c4d-copy-tip'); if (!tip) { tip = document.createElement('div'); tip.id = 'c4d-copy-tip'; tip.style.cssText = "position:fixed;top:30%;left:50%;transform:translate(-50%,0);background:rgba(58,181,74,0.93);color:#fff;padding:12px 28px;border-radius:30px;z-index:9999;font-size:18px;text-align:center;box-shadow:0 3px 18px rgba(0,0,0,.13);"; document.body.appendChild(tip); } tip.textContent = msg||'复制成功'; tip.style.display = 'block'; window.__copyTipTimeout = setTimeout(function () { tip.style.display = 'none'; }, 1500); } function c4dProcessCopyElements(container) { if (!container || container.__c4dAlreadyProcessed) return; container.__c4dAlreadyProcessed = true; function recur(node) { if (node.nodeType === 3) { replaceNodeText(node); } else if (node.nodeType === 1 && !/(button|a|input|textarea|select)/i.test(node.tagName)) { var arr = Array.from(node.childNodes); arr.forEach(function (n) { recur(n); }); } } function replaceNodeText(textNode) { var txt = textNode.nodeValue; var hasMatch = false; var patterns = [ {reg: /解压密码[::]?\s*([a-zA-Z0-9\-\._\u4e00-\u9fa5]+)/g, label:"解压密码"}, {reg: /提取码[::]?\s*([a-zA-Z0-9\-_]{3,})/g, label:"提取码"}, {reg: /密码[::]?\s*([a-zA-Z0-9\-_]{3,})/g, label:"密码"}, ]; patterns.forEach(function(item) { txt = txt.replace(item.reg, function(all, code) { hasMatch = true; return item.label + ':' + code + ''; }); }); if (hasMatch) { var tmp = document.createElement('span'); tmp.innerHTML = txt; textNode.parentNode.replaceChild(tmp, textNode); } } recur(container); var allLinks = container.querySelectorAll('a[href*="pan.baidu.com"], a[href*="pan.quark.cn"], a[href*="www.123pan.com"], a[href*="cloud.189.cn"]'); allLinks.forEach(function(link) { var code = null; var linkContainer = link.parentNode; var walker = document.createTreeWalker( linkContainer, NodeFilter.SHOW_TEXT, null, false ); var foundLink = false; var currentNode; while (currentNode = walker.nextNode()) { if (!foundLink && currentNode.parentNode.contains(link)) { foundLink = true; continue; } if (foundLink) { var text = currentNode.textContent; if (text.includes('\n') || text.includes('http')) { var beforeNewline = text.split('\n')[0]; var match = beforeNewline.match(/(?:密码|提取码)[::]?\s*([a-zA-Z0-9\-_]{3,})/); if (match) { code = match[1]; } break; } var match = text.match(/(?:密码|提取码)[::]?\s*([a-zA-Z0-9\-_]{3,})/); if (match) { code = match[1]; break; } } } if (!code) { var nextSibling = link.nextSibling; var searchText = ''; var maxSearch = 5; var searchCount = 0; while (nextSibling && searchCount < maxSearch) { if (nextSibling.nodeType === 3) { searchText += nextSibling.textContent; } else if (nextSibling.nodeType === 1) { searchText += nextSibling.textContent || nextSibling.innerText || ''; } if (searchText.includes('http') && searchText.indexOf('http') > 0) { searchText = searchText.substring(0, searchText.indexOf('http')); break; } nextSibling = nextSibling.nextSibling; searchCount++; } var match = searchText.match(/(?:密码|提取码)[::]?\s*([a-zA-Z0-9\-_]{3,})/); if (match) { code = match[1]; } } if (code) { link.classList.add('c4d-copy-link'); link.setAttribute('data-copy-code', code); link.setAttribute('title', '点击复制提取码: ' + code); console.log('链接匹配成功:', link.href, '-> 复制码:', code); } }); container.addEventListener('click', function(e){ var span = e.target.closest('.c4d-copy-code'); if (span && span.dataset.code) { e.preventDefault(); e.stopPropagation(); c4dCopyToClipboard(span.dataset.code); return; } var link = e.target.closest('.c4d-copy-link'); if (link && link.dataset.copyCode) { setTimeout(function() { c4dCopyToClipboard(link.dataset.copyCode); }, 100); return; } }); } function c4dAutoBindCopyToAll() { var all = document.querySelectorAll('.c4d-hidden-content.active'); for(var i=0;i)<[^<]*)*<\/script>/gi, ''); if (sanitized.length > 3000) { console.warn("内容过大,将被裁剪", sanitized.length); sanitized = sanitized.substring(0, 3000) + '... [内容已截断]'; } return sanitized; } catch (e) { console.error("内容净化失败:", e); return content; } } function updateDownloadLimitMessage(maxDownloads, dayviews) { var now = new Date(); var resetTime = getResetTime(); var timeUntilReset = resetTime - now; var hoursLeft = Math.floor(timeUntilReset / (1000 * 60 * 60)); var minutesLeft = Math.floor((timeUntilReset % (1000 * 60 * 60)) / (1000 * 60)); return '
' + '
' + '

今日下载次数已达到上限

' + '

您今日的下载次数已达到上限(' + maxDownloads + '次),' + '将在' + hoursLeft + '小时' + minutesLeft + '分钟后重置

' + '

(每天0:00自动重置下载次数)

' + '升级会员增加下载次数' + '
'; } function c4dCheckAccess(downloadBtn) { if (!downloadBtn) return; var randomId = downloadBtn.getAttribute('data-randomid'); var contentContainer = document.getElementById('c4d-content-container-' + randomId); var downloadIcon = downloadBtn.querySelector('.c4d-download-icon'); var tid = downloadBtn.getAttribute('data-tid'); var hideType = downloadBtn.getAttribute('data-hide-type'); var requiredStars = downloadBtn.getAttribute('data-stars'); console.log('检查访问权限:', { 'hideType': hideType, 'stars': requiredStars, 'isLoggedIn': false, 'userLevel': "0" }); var isLoggedIn = false; if (!isLoggedIn) { downloadIcon.style.display = 'none'; contentContainer.innerHTML = `
🔒

请先登录

您需要登录后才能下载此资源

`; contentContainer.classList.add('active'); downloadBtn.classList.add('expanded'); downloadBtn.classList.add('no-permission'); expandedButtons.add(randomId); return; } if (hideType === 'sell') { var userLevel = "0"; console.log('处理sell标签:', { 'requiredStars': requiredStars, 'userLevel': userLevel }); if (parseInt(userLevel) >= parseInt(requiredStars)) { c4dTriggerDownload(downloadBtn, false); return; } downloadIcon.style.display = 'none'; contentContainer.innerHTML = `

等级不足,无法下载!

下载等级 ${requiredStars == 1 ? "初级会员" : "高级会员"}
我的等级 游客
立即升级会员

赞助会员后即可获得下载权限

`; contentContainer.classList.add('active'); downloadBtn.classList.add('expanded'); downloadBtn.classList.add('no-permission'); expandedButtons.add(randomId); return; } var isFreeDownload = (hideType === 'num' || hideType === 'empty'); var isUserGroupTag = (hideType === 't'); if (isFreeDownload && isLoggedIn) { c4dTriggerDownload(downloadBtn, false); return; } if (isUserGroupTag) { var userLevel = "0"; if (parseInt(userLevel) >= parseInt(requiredStars)) { c4dTriggerDownload(downloadBtn, false); return; } downloadIcon.style.display = 'none'; contentContainer.innerHTML = `

等级不足,无法下载!

下载等级
我的等级 游客
立即升级会员

赞助会员后即可获得下载权限

`; contentContainer.classList.add('active'); downloadBtn.classList.add('expanded'); downloadBtn.classList.add('no-permission'); expandedButtons.add(randomId); } } function c4dLoadHiddenContent(downloadBtn, url, skipCountCheck) { var randomId = downloadBtn.getAttribute('data-randomid'); console.log("加载隐藏内容:", url, "跳过计数:", skipCountCheck, "随机ID:", randomId); if (downloadBtn.classList.contains('expanded')) { return; } var contentContainer = document.getElementById('c4d-content-container-' + randomId); var downloadIcon = downloadBtn.querySelector('.c4d-download-icon'); var tid = downloadBtn.getAttribute('data-tid'); var cachedContent = getDownloadedContent(tid, randomId); if (cachedContent && skipCountCheck) { downloadIcon.style.display = 'none'; contentContainer.innerHTML = cachedContent; contentContainer.classList.add('active'); downloadBtn.classList.add('expanded'); expandedButtons.add(randomId); enableTextSelection(contentContainer); c4dProcessCopyElements(contentContainer); console.log("从缓存加载内容"); return; } downloadIcon.style.display = 'none'; contentContainer.innerHTML = '
加载中,请稍候...
'; contentContainer.classList.add('active'); var xhr = new XMLHttpRequest(); var finalUrl = url; if (skipCountCheck) { finalUrl += (finalUrl.indexOf('?') !== -1 ? '&' : '?') + 'skipcountcheck=1'; } finalUrl += (finalUrl.indexOf('?') !== -1 ? '&' : '?') + 'isrealview=1&firstview=1&_=' + Date.now(); console.log("请求URL:", finalUrl); xhr.open('GET', finalUrl, true); xhr.timeout = 15000; xhr.onreadystatechange = function() { console.log("XHR状态变化:", xhr.readyState, xhr.status); if (xhr.readyState === 4) { if (xhr.status === 200) { var responseText = xhr.responseText; console.log("请求成功,响应长度:", responseText.length); if (!responseText || responseText.trim().length < 10) { contentContainer.innerHTML = `
⚠️

返回内容为空

服务器返回了空内容,请刷新页面重试

`; downloadBtn.classList.add('expanded'); expandedButtons.add(randomId); return; } if (responseText.indexOf('dsvue_hidegrpep_noviews') !== -1 || responseText.indexOf('今日可查看已达') !== -1 || responseText.indexOf('下载次数') !== -1) { contentContainer.innerHTML = updateDownloadLimitMessage( 0, 0 ); downloadBtn.classList.add('no-permission'); } else { try { var parser = new DOMParser(); var doc = parser.parseFromString(responseText, 'text/html'); var content = doc.querySelector('.showhide'); if (content) { contentContainer.innerHTML = content.innerHTML; var successMessage = document.createElement('div'); successMessage.className = 'c4d-success-message'; successMessage.textContent = '✓ 下载信息'; contentContainer.insertBefore(successMessage, contentContainer.firstChild); addToDownloadHistory(tid, randomId, contentContainer.innerHTML); } else { console.log("未找到.showhide元素,显示原始内容"); var cleanedContent = responseText.replace(/)<[^<]*)*<\/script>/gi, ''); contentContainer.innerHTML = cleanedContent; if (cleanedContent.length < 100) { contentContainer.innerHTML = `
⚠️

内容加载失败

请刷新页面后重试

错误原因: 内容过短

`; } else { addToDownloadHistory(tid, randomId, contentContainer.innerHTML); } } enableTextSelection(contentContainer); c4dProcessCopyElements(contentContainer); } catch (parseError) { console.error("解析响应内容失败:", parseError); contentContainer.innerHTML = `

解析失败

解析返回内容时出错,请刷新页面重试

错误信息: ${parseError.message}

`; } } } else { contentContainer.innerHTML = `

加载失败

服务器返回错误 (${xhr.status}),请稍后再试

`; } downloadBtn.classList.add('expanded'); expandedButtons.add(randomId); } }; xhr.ontimeout = function() { console.error("请求超时"); contentContainer.innerHTML = `
⏱️

请求超时

服务器响应超时,请稍后再试

`; contentContainer.classList.add('active'); downloadBtn.classList.add('expanded'); expandedButtons.add(randomId); }; xhr.onerror = function(e) { console.error("请求错误:", e); contentContainer.innerHTML = `

网络错误

请检查您的网络连接后重试

`; contentContainer.classList.add('active'); downloadBtn.classList.add('expanded'); expandedButtons.add(randomId); }; try { xhr.send(); } catch (e) { console.error("发送请求失败:", e); contentContainer.innerHTML = `

请求失败

发送请求时出错: ${e.message}

`; contentContainer.classList.add('active'); downloadBtn.classList.add('expanded'); expandedButtons.add(randomId); } } function enableTextSelection(contentContainer) { if (!contentContainer) return; contentContainer.style.userSelect = 'text'; contentContainer.style.webkitUserSelect = 'text'; contentContainer.style.mozUserSelect = 'text'; contentContainer.style.msUserSelect = 'text'; var allElements = contentContainer.querySelectorAll('*'); for (var i = 0; i < allElements.length; i++) { var element = allElements[i]; element.style.userSelect = 'text'; element.style.webkitUserSelect = 'text'; element.style.mozUserSelect = 'text'; element.style.msUserSelect = 'text'; element.onmousedown = null; element.onselectstart = null; element.ondragstart = null; } console.log("已启用文本选择功能"); } function c4dTriggerDownload(downloadBtn, skipCountCheck) { var randomId = downloadBtn.getAttribute('data-randomid'); console.log("触发下载函数,跳过计数:", skipCountCheck, "随机ID:", randomId); if (downloadBtn.classList.contains('expanded')) { return; } var downloadIcon = downloadBtn.querySelector('.c4d-download-icon'); var contentContainer = document.getElementById('c4d-content-container-' + randomId); var tid = downloadBtn.getAttribute('data-tid'); var hideType = downloadBtn.getAttribute('data-hide-type'); var requiredStars = downloadBtn.getAttribute('data-stars'); var isLoggedIn = false; var isAuthor = false; var isAdmin = false; var isModerator = false; var userLevel = "0"; skipCountCheck = isAuthor; if (!isAuthor) { var dayviews = 0; var maxDownloads = 0; if (maxDownloads > 0 && dayviews >= maxDownloads) { downloadIcon.style.display = 'none'; contentContainer.innerHTML = updateDownloadLimitMessage(maxDownloads, dayviews); contentContainer.classList.add('active'); downloadBtn.classList.add('expanded', 'no-permission'); expandedButtons.add(randomId); return; } } var isFreeDownload = (hideType === 'num' || hideType === 'empty'); var isUserGroupTag = (hideType === 't'); var isSellTag = (hideType === 'sell'); if (isFreeDownload) { downloadIcon.classList.add('c4d-download-animation'); c4dLoadHiddenContent(downloadBtn, downloadBtn.getAttribute('data-viewurl'), skipCountCheck); return; } if (isUserGroupTag || isSellTag) { if (parseInt(userLevel) >= parseInt(requiredStars) || isAuthor) { downloadIcon.classList.add('c4d-download-animation'); c4dLoadHiddenContent(downloadBtn, downloadBtn.getAttribute('data-viewurl'), skipCountCheck); } else { c4dCheckAccess(downloadBtn); } } } function c4dProcessExistingContent(downloadBtn) { if (!downloadBtn) return; var randomId = downloadBtn.getAttribute('data-randomid'); var tid = downloadBtn.getAttribute('data-tid'); var contentContainer = document.getElementById('c4d-content-container-' + randomId); var downloadIcon = downloadBtn.querySelector('.c4d-download-icon'); var hideType = downloadBtn.getAttribute('data-hide-type'); var requiredStars = downloadBtn.getAttribute('data-stars'); var isAuthor = false; var isAdmin = false; var isModerator = false; var userLevel = "0"; var contentFromReply = document.querySelector("#" + randomId + " .showhide"); if (contentFromReply && contentFromReply.parentElement) { downloadIcon.style.display = 'none'; contentContainer.innerHTML = contentFromReply.innerHTML; contentContainer.classList.add('active'); downloadBtn.classList.add('expanded'); addToDownloadHistory(tid, randomId, contentContainer.innerHTML); expandedButtons.add(randomId); enableTextSelection(contentContainer); c4dProcessCopyElements(contentContainer); return; } if (isRecentlyDownloaded(tid, randomId)) { var isFreeDownload = (hideType === 'num' || hideType === 'empty'); var isUserGroupTag = (hideType === 't'); var isSellTag = (hideType === 'sell'); var skipCountCheck = isAuthor; if (isFreeDownload && false) { var cachedContent = getDownloadedContent(tid, randomId); if (cachedContent) { downloadIcon.style.display = 'none'; contentContainer.innerHTML = cachedContent; contentContainer.classList.add('active'); downloadBtn.classList.add('expanded'); expandedButtons.add(randomId); enableTextSelection(contentContainer); c4dProcessCopyElements(contentContainer); } else { c4dLoadHiddenContent(downloadBtn, downloadBtn.getAttribute('data-viewurl'), skipCountCheck); } return; } if (isUserGroupTag || isSellTag) { if (isAuthor || parseInt(userLevel) >= parseInt(requiredStars)) { var cachedContent = getDownloadedContent(tid, randomId); if (cachedContent) { downloadIcon.style.display = 'none'; contentContainer.innerHTML = cachedContent; contentContainer.classList.add('active'); downloadBtn.classList.add('expanded'); expandedButtons.add(randomId); enableTextSelection(contentContainer); c4dProcessCopyElements(contentContainer); } else { c4dLoadHiddenContent(downloadBtn, downloadBtn.getAttribute('data-viewurl'), skipCountCheck); } } } } } var hasRefreshedForReset = false; function checkResetTimeAndRefresh() { var now = new Date(); var resetTime = getResetTime(); var timeUntilReset = resetTime - now; if (Math.abs(timeUntilReset) <= 30000) { var lastRefresh = localStorage.getItem('lastResetRefresh'); var currentTime = Date.now(); if (!lastRefresh || (currentTime - lastRefresh > 60000)) { console.log("到达下载次数重置时间,刷新页面"); localStorage.setItem('lastResetRefresh', currentTime); var refreshUrl = window.location.href; if (refreshUrl.indexOf('?') > -1) { refreshUrl += '&_reset=' + Date.now(); } else { refreshUrl += '?_reset=' + Date.now(); } window.location.replace(refreshUrl); return; } } var nextCheck = 60000; if (timeUntilReset > 0 && timeUntilReset < 60000) { nextCheck = 5000; } else if (timeUntilReset > 0 && timeUntilReset < 300000) { nextCheck = 15000; } setTimeout(checkResetTimeAndRefresh, nextCheck); } document.addEventListener('selectstart', function(e) { var target = e.target; var contentContainer = target.closest('.c4d-hidden-content.active'); if (contentContainer) { e.stopPropagation(); return true; } }); document.addEventListener('mousedown', function(e) { var target = e.target; var contentContainer = target.closest('.c4d-hidden-content.active'); if (contentContainer) { e.stopPropagation(); return true; } }); document.addEventListener('DOMContentLoaded', function() { forceResetDownloadCount(); console.log("页面加载完成,初始化下载功能"); function initializeAllButtons() { var downloadBtns = document.querySelectorAll('[id^="c4d-download-btn-"]'); console.log("找到下载按钮数量:", downloadBtns.length); downloadBtns.forEach(function(btn) { var randomId = btn.getAttribute('data-randomid'); if (expandedButtons.has(randomId)) { return; } btn.removeEventListener('click', handleDownloadClick); btn.addEventListener('click', function(event) { if(event.target.tagName.toLowerCase() === 'a' || event.target.closest('a')) { return; } handleDownloadClick.call(btn, event); }); c4dProcessExistingContent(btn); }); return downloadBtns.length; } var btnCount = initializeAllButtons(); var buttonBindInterval = setInterval(function() { var newCount = initializeAllButtons(); if (newCount > btnCount) { console.log("发现新按钮:", newCount); btnCount = newCount; } }, 500); setTimeout(function() { clearInterval(buttonBindInterval); setInterval(initializeAllButtons, 3000); }, 10000); if (typeof showError === 'function') { var originalShowError = window.showError; window.showError = function(msg) { if (msg && (msg.indexOf('dsvue_hidegrpep_noviews') !== -1 || msg.indexOf('今日可查看已达') !== -1 || msg.indexOf('下载次数') !== -1)) { return false; } return originalShowError.apply(this, arguments); }; } fixAdminAndModeratorContentDisplay(); var lastRefreshTime = localStorage.getItem('resetRefreshTime'); if (lastRefreshTime && (Date.now() - lastRefreshTime < 60000)) { hasRefreshedForReset = true; setTimeout(function() { hasRefreshedForReset = false; }, 60000); } checkResetTimeAndRefresh(); setTimeout(function() { console.log('检查sell标签按钮...'); var sellButtons = document.querySelectorAll('[data-hide-type="sell"]'); console.log('找到sell按钮数量:', sellButtons.length); sellButtons.forEach(function(btn) { btn._hasClickEvent = true; btn.addEventListener('click', function(e) { console.log('Sell标签按钮点击处理'); handleDownloadClick.call(this, e); }); btn.classList.add('c4d-sell-button'); }); }, 1000); setTimeout(c4dAutoBindCopyToAll, 200); }); setInterval(function() { var expandedButtons = document.querySelectorAll('.c4d-download-button.expanded'); expandedButtons.forEach(function(btn) { var tid = btn.getAttribute('data-tid'); var randomId = btn.getAttribute('data-randomid'); var contentContainer = document.getElementById('c4d-content-container-' + randomId); if (contentContainer && contentContainer.innerHTML.length > 100) { addToDownloadHistory(tid, randomId, contentContainer.innerHTML); } }); }, 60000); function tryRestoreAllCachedContent() { var downloadedPosts = getDownloadedPosts(); var downloadBtns = document.querySelectorAll('[id^="c4d-download-btn-"]'); downloadBtns.forEach(function(btn) { if (!btn.classList.contains('expanded')) { var tid = btn.getAttribute('data-tid'); var randomId = btn.getAttribute('data-randomid'); var storageKey = tid + "_" + randomId; if (downloadedPosts[storageKey]) { c4dProcessExistingContent(btn); } } }); } setTimeout(tryRestoreAllCachedContent, 100); setTimeout(tryRestoreAllCachedContent, 1000); setInterval(function() { try { var cookieData = getCookie("hide_downloaded_posts"); if (cookieData) { var data = JSON.parse(cookieData); for (var key in data) { var content = data[key].content; if (content && !content.match(/^[A-Za-z0-9+/=]+$/)) { console.warn("检测到cookie数据可能被篡改,重置存储"); setCookie("hide_downloaded_posts", "{}", 24); break; } } } } catch (e) { console.error("Cookie完整性检查失败:", e); } }, 300000); function fixAdminAndModeratorContentDisplay() { var allPosts = document.querySelectorAll('.t_fsz, .pcb, .postmessage'); allPosts.forEach(function(postContainer) { var allHideContents = []; var showhideEls = postContainer.querySelectorAll('.showhide:not(.c4d-hidden-content .showhide)'); showhideEls.forEach(function(el) { allHideContents.push({ element: el, type: 'hide' }); }); var downloadContainers = postContainer.querySelectorAll('.c4d-download-container'); if (downloadContainers.length > showhideEls.length) { var possibleSellContents = postContainer.querySelectorAll('div:not(.c4d-hidden-content):not(.c4d-download-container) > div:has(h4:contains("' + lang('forum/template', 'post_hide') + '"))'); if (possibleSellContents.length === 0) { possibleSellContents = postContainer.querySelectorAll('div:not(.showhide):not(.c4d-hidden-content) h4:contains("' + lang('forum/template', 'post_hide') + '")'); possibleSellContents.forEach(function(el) { var parent = el.closest('div'); if (parent && !allHideContents.some(item => item.element === parent)) { allHideContents.push({ element: parent, type: 'sell' }); } }); } else { possibleSellContents.forEach(function(el) { if (!allHideContents.some(item => item.element === el)) { allHideContents.push({ element: el, type: 'sell' }); } }); } } downloadContainers.forEach(function(container, index) { var downloadButton = container.querySelector('.c4d-download-button'); if (!downloadButton) return; var hideType = downloadButton.getAttribute('data-hide-type'); var contentContainer = container.querySelector('.c4d-hidden-content'); var downloadIcon = container.querySelector('.c4d-download-icon'); var randomId = downloadButton.getAttribute('data-randomid'); if (!contentContainer || !downloadIcon) return; var contentMatch = null; if (index < allHideContents.length) { contentMatch = allHideContents[index].element; } else { return; } if (contentMatch) { contentContainer.innerHTML = contentMatch.innerHTML; contentContainer.classList.add('active'); downloadIcon.style.display = 'none'; downloadButton.classList.add('expanded'); contentMatch.style.display = 'none'; expandedButtons.add(randomId); enableTextSelection(contentContainer); c4dProcessCopyElements(contentContainer); if (hideType === 'sell') { downloadButton.style.removeProperty('border'); var header = downloadButton.querySelector('.c4d-download-header'); if (header) { header.style.backgroundColor = 'linear-gradient(135deg, #f5b041, #e67e22)'; } } } }); }); var emptyDownloadContainers = document.querySelectorAll('.c4d-download-container:not(.expanded)'); var remainingHideContents = document.querySelectorAll('.showhide:not([style*="display: none"])'); var count = Math.min(emptyDownloadContainers.length, remainingHideContents.length); for (var i = 0; i < count; i++) { var container = emptyDownloadContainers[i]; var content = remainingHideContents[i]; var contentContainer = container.querySelector('.c4d-hidden-content'); var downloadIcon = container.querySelector('.c4d-download-icon'); var downloadButton = container.querySelector('.c4d-download-button'); if (!contentContainer || !downloadIcon || !downloadButton) continue; var randomId = downloadButton.getAttribute('data-randomid'); contentContainer.innerHTML = content.innerHTML; contentContainer.classList.add('active'); downloadIcon.style.display = 'none'; downloadButton.classList.add('expanded'); content.style.display = 'none'; expandedButtons.add(randomId); enableTextSelection(contentContainer); c4dProcessCopyElements(contentContainer); } } function findHideContents() { var allContainers = document.querySelectorAll('.c4d-download-container'); console.log('找到下载容器:', allContainers.length); var allContents = document.querySelectorAll('.showhide'); console.log('找到隐藏内容:', allContents.length); var sellContents = []; var allDivs = document.querySelectorAll('div'); allDivs.forEach(function(div) { var h4 = div.querySelector('h4'); if (h4 && h4.textContent.includes('隐藏内容') && !div.classList.contains('showhide')) { sellContents.push(div); } }); console.log('找到可能的sell内容:', sellContents.length); var index = 0; allContainers.forEach(function(container) { if (index < allContents.length) { var contentContainer = container.querySelector('.c4d-hidden-content'); var downloadIcon = container.querySelector('.c4d-download-icon'); var downloadButton = container.querySelector('.c4d-download-button'); if (!contentContainer || !downloadIcon || !downloadButton) return; var randomId = downloadButton.getAttribute('data-randomid'); contentContainer.innerHTML = allContents[index].innerHTML; contentContainer.classList.add('active'); downloadIcon.style.display = 'none'; downloadButton.classList.add('expanded'); downloadButton.style.removeProperty('border'); allContents[index].style.display = 'none'; expandedButtons.add(randomId); enableTextSelection(contentContainer); c4dProcessCopyElements(contentContainer); index++; } }); sellContents.forEach(function(content) { if (index < allContainers.length) { var container = allContainers[index]; var contentContainer = container.querySelector('.c4d-hidden-content'); var downloadIcon = container.querySelector('.c4d-download-icon'); var downloadButton = container.querySelector('.c4d-download-button'); if (!contentContainer || !downloadIcon || !downloadButton) return; var randomId = downloadButton.getAttribute('data-randomid'); contentContainer.innerHTML = content.innerHTML; contentContainer.classList.add('active'); downloadIcon.style.display = 'none'; downloadButton.classList.add('expanded'); downloadButton.style.removeProperty('border'); content.style.display = 'none'; expandedButtons.add(randomId); enableTextSelection(contentContainer); c4dProcessCopyElements(contentContainer); index++; } }); return '处理了 ' + index + ' 个隐藏内容'; } document.addEventListener('DOMContentLoaded', function() { setTimeout(fixAdminAndModeratorContentDisplay, 500); setTimeout(findHideContents, 1000); }); document.addEventListener('click', function() { setTimeout(c4dAutoBindCopyToAll, 50); });