Home 硬件评测合集 | Hardware Reviews

硬件评测合集 | Hardware Reviews

.hw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin:20px 0;}
.hw-card{border:1px solid #e5e5e5;border-radius:8px;overflow:hidden;transition:box-shadow .2s;}
.hw-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);}
.hw-card img{width:100%;height:160px;object-fit:cover;display:block;background:#f2f2f2;}
.hw-card-body{padding:12px 14px;}
.hw-card-title{font-size:15px;font-weight:600;margin:0 0 6px;line-height:1.4;}
.hw-card-title a{color:#222;text-decoration:none;}
.hw-card-title a:hover{color:#1a73e8;}
.hw-card-meta{font-size:12px;color:#888;}
.hw-loadmore{display:block;margin:24px auto;padding:10px 28px;border:1px solid #1a73e8;color:#1a73e8;background:#fff;border-radius:20px;cursor:pointer;font-size:14px;}
.hw-loadmore:hover{background:#1a73e8;color:#fff;}
.hw-loading{text-align:center;color:#999;padding:20px;}

加载中…

(function(){
// 在这里维护你的子分类标签列表(必须和 Blogger 标签名称完全一致,区分大小写)
var LABELS = [“CPU/Motherboard”,”Graphics Card/Monitors”,”Laptop”,”Memory”,”Storage”,”Cooling”,”Keyboards/Mice”];
var PAGE_SIZE = 9; // 每次希望在页面上显示的文章数
var BATCH_SIZE = 50; // 每次向 Blogger 请求的原始文章批量(不做标签过滤,纯拉取全站文章)
var callbackCount = 0;

// 持久状态:matchedPool 存放所有已经抓取并判断命中标签的文章(还没显示出来的)
// underlyingStart 是全站 Feed 的抓取游标;reachedEnd 标记全站文章是否已经翻完
var matchedPool = [];
var underlyingStart = 1;
var reachedEnd = false;
var totalShownCount = 0;

function labelMatches(entryCategories){
if(!entryCategories) return false;
for(var i=0;i -1 ? “” : “=s600-c”);
}
return “https://via.placeholder.com/400×225?text=No+Image”;
}

function getLink(entry){
for(var i=0;i<entry.link.length;i++){
if(entry.link[i].rel === "alternate") return entry.link[i].href;
}
return "#";
}

function renderEntry(entry){
var container = document.getElementById("hw-container");
var title = entry.title.$t;
var link = getLink(entry);
var thumb = getThumb(entry);
var published = entry.published.$t.substring(0,10);

var card = document.createElement("div");
card.className = "hw-card";
card.innerHTML =
''+title+'‘ +

‘ +

‘+title+’

‘ +

‘+published+’

‘ +

‘;
container.appendChild(card);
}

// 核心逻辑:不断向 Blogger 请求“全站文章”批次,逐条判断分类是否命中,
// 命中的文章存进 matchedPool 持久池;池子里攒够 PAGE_SIZE 篇就显示一批。
function fetchNextBatch(){
if(reachedEnd){
showNextChunk();
return;
}
var cbName = “hwCallback” + (callbackCount++);
window[cbName] = function(json){
var entries = json.feed.entry || [];
if(entries.length = PAGE_SIZE || reachedEnd){
showNextChunk();
} else {
fetchNextBatch(); // 攒的还不够一屏,继续翻下一批全站文章
}
};
var script = document.createElement(“script”);
script.src = “/feeds/posts/default?alt=json-in-script&max-results=” + BATCH_SIZE +
“&start-index=” + underlyingStart + “&callback=” + cbName;
document.body.appendChild(script);
}

function showNextChunk(){
var status = document.getElementById(“hw-status”);
var btn = document.getElementById(“hw-loadmore-btn”);

if(matchedPool.length === 0){
if(underlyingStart 0 || !reachedEnd){
btn.style.display = “inline-block”;
} else {
btn.style.display = “none”;
}
}

document.getElementById(“hw-loadmore-btn”).addEventListener(“click”, function(){
document.getElementById(“hw-status”).style.display = “block”;
document.getElementById(“hw-status”).textContent = “加载中…”;
if(matchedPool.length >= PAGE_SIZE || reachedEnd){
showNextChunk();
} else {
fetchNextBatch();
}
});

fetchNextBatch();
})();