We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lizouzt/TrendRadar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>热点新闻分析</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js" integrity="sha512-BNaRQnYJYiPSqHHDb58B0yaPfCu+Wgds8Gp/gU33kqBtgNS4tSPHuGibyoeqMV/TJlSKda6FXzoEyYGjTe+vXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<style>
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
margin: 0;
padding: 16px;
background: #fafafa;
color: #333;
line-height: 1.5;
}
.container {
max-width: 600px;
margin: 0 auto;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.header {
background: linear-gradient(135deg, #7a72ff 0%, #3aafed 100%);
color: #fff;
padding: 32px 24px;
text-align: center;
position: relative;
}
.save-buttons {
position: absolute;
top: 16px;
right: 16px;
display: flex;
gap: 8px;
}
.save-btn {
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.3);
color: white;
padding: 8px 16px;
border-radius: 6px;
cursor: pointer;
font-size: 13px;
font-weight: 500;
transition: all 0.2s ease;
backdrop-filter: blur(10px);
white-space: nowrap;
}
.save-btn:hover {
background: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.5);
transform: translateY(-1px);
}
.save-btn:active {
transform: translateY(0);
}
.save-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.header-title {
font-size: 22px;
font-weight: 700;
margin: 0 0 20px 0;
}
.header-info {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
font-size: 14px;
opacity: 0.95;
}
.info-item {
text-align: center;
}
.info-label {
display: block;
font-size: 12px;
opacity: 0.8;
margin-bottom: 4px;
}
.info-value {
font-weight: 600;
font-size: 16px;
}
.content {
padding: 24px;
}
.word-group {
margin-bottom: 40px;
}
.word-group:first-child {
margin-top: 0;
}
.word-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
padding-bottom: 8px;
border-bottom: 1px solid #f0f0f0;
}
.word-info {
display: flex;
align-items: center;
gap: 12px;
}
.word-name {
font-size: 17px;
font-weight: 600;
color: #1a1a1a;
}
.word-count {
color: #666;
font-size: 13px;
font-weight: 500;
}
.word-count.hot { color: #dc2626; font-weight: 600; }
.word-count.warm { color: #ea580c; font-weight: 600; }
.word-index {
color: #999;
font-size: 12px;
}
.news-item {
margin-bottom: 20px;
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
position: relative;
display: flex;
gap: 12px;
align-items: center;
}
.news-item:last-child {
border-bottom: none;
}
.news-item.new::after {
content: "NEW";
position: absolute;
top: 12px;
right: 0;
background: #fbbf24;
color: #92400e;
font-size: 9px;
font-weight: 700;
padding: 3px 6px;
border-radius: 4px;
letter-spacing: 0.5px;
}
.news-number {
color: #999;
font-size: 13px;
font-weight: 600;
min-width: 20px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
align-self: flex-start;
margin-top: 8px;
}
.news-content {
flex: 1;
min-width: 0;
padding-right: 40px;
}
.news-item.new .news-content {
padding-right: 50px;
}
.news-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
flex-wrap: wrap;
}
.source-name {
color: #666;
font-size: 12px;
font-weight: 500;
}
.rank-num {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 2px 6px;
border-radius: 10px;
min-width: 18px;
text-align: center;
}
.rank-num.top { background: #dc2626; }
.rank-num.high { background: #ea580c; }
.time-info {
color: #999;
font-size: 11px;
}
.count-info {
color: #059669;
font-size: 11px;
font-weight: 500;
}
.news-title {
font-size: 15px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.news-link {
color: #2563eb;
text-decoration: none;
}
.news-link:hover {
text-decoration: underline;
}
.news-link:visited {
color: #7c3aed;
}
.topic-trend-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.topic-trend-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.viral-topic-item {
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
}
.viral-topic-item:last-child {
border-bottom: none;
}
.viral-topic-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}
.viral-topic-keyword {
font-size: 16px;
font-weight: 600;
}
.topic-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.topic-item:last-child {
border-bottom: none;
}
.viral-topic-stats {
font-size: 12px;
color: #666;
}
.viral-topic-stats .new { color: #dc2626; font-weight: bold; }
.viral-topic-stats .up { color: #f59e0b; font-weight: bold; }
.viral-topic-stats .level-high { color: #dc2626; font-weight: bold; }
.viral-topic-stats .level-mid { color: #f59e0b; font-weight: bold; }
.viral-sample-titles {
list-style: none;
padding-left: 16px;
margin: 0;
font-size: 13px;
}
.viral-sample-titles li {
color: #666;
padding: 4px 0;
position: relative;
}
.viral-sample-titles li::before { content: '▪'; position: absolute; left: -14px; color: #ccc; }
.new-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.new-section-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.new-source-group {
margin-bottom: 24px;
}
.new-source-title {
color: #666;
font-size: 13px;
font-weight: 500;
margin: 0 0 12px 0;
padding-bottom: 6px;
border-bottom: 1px solid #f5f5f5;
}
.new-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.new-item:last-child {
border-bottom: none;
}
.new-item-number {
color: #999;
font-size: 12px;
font-weight: 600;
min-width: 18px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
}
.new-item-rank {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 3px 6px;
border-radius: 8px;
min-width: 20px;
text-align: center;
flex-shrink: 0;
}
.new-item-rank.top { background: #dc2626; }
.new-item-rank.high { background: #ea580c; }
.new-item-content {
flex: 1;
min-width: 0;
}
.new-item-title {
font-size: 14px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.error-section {
background: #fef2f2;
border: 1px solid #fecaca;
border-radius: 8px;
padding: 16px;
margin-bottom: 24px;
}
.error-title {
color: #dc2626;
font-size: 14px;
font-weight: 600;
margin: 0 0 8px 0;
}
.error-list {
list-style: none;
padding: 0;
margin: 0;
}
.error-item {
color: #991b1b;
font-size: 13px;
padding: 2px 0;
font-family: 'SF Mono', Consolas, monospace;
}
.footer {
margin-top: 32px;
padding: 20px 24px;
background: #f8f9fa;
border-top: 1px solid #e5e7eb;
text-align: center;
}
.footer-content {
font-size: 13px;
color: #6b7280;
line-height: 1.6;
}
.footer-link {
color: #4f46e5;
text-decoration: none;
font-weight: 500;
transition: color 0.2s ease;
}
.footer-link:hover {
color: #7c3aed;
text-decoration: underline;
}
.project-name {
font-weight: 600;
color: #374151;
}
@media (max-width: 480px) {
body { padding: 12px; }
.header { padding: 24px 20px; }
.content { padding: 20px; }
.footer { padding: 16px 20px; }
.header-info { grid-template-columns: 1fr; gap: 12px; }
.news-header { gap: 6px; }
.news-content { padding-right: 45px; }
.news-item { gap: 8px; }
.new-item { gap: 8px; }
.news-number { width: 20px; height: 20px; font-size: 12px; }
.save-buttons {
position: static;
margin-bottom: 16px;
display: flex;
gap: 8px;
justify-content: center;
flex-direction: column;
width: 100%;
}
.save-btn {
width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="save-buttons">
<button class="save-btn" onclick="saveAsImage()">保存为图片</button>
<button class="save-btn" onclick="saveAsMultipleImages()">分段保存</button>
</div>
<div class="header-title">热点新闻分析</div>
<div class="header-info">
<div class="info-item">
<span class="info-label">报告类型</span>
<span class="info-value">实时分析</span>
</div>
<div class="info-item">
<span class="info-label">新闻总数</span>
<span class="info-value">153 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">8 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">01-27 14:29</span>
</div>
</div>
</div>
<div class="content">
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">ai 人工智能</div>
<div class="word-count warm">6 条</div>
</div>
<div class="word-index">1/3</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">澎湃新闻</span><span class="rank-num top">1</span><span class="time-info">14时29分</span>
</div>
<div class="news-title"><a href="https://m.thepaper.cn/newsDetail_forward_32466140" target="_blank" class="news-link">连线丨暴风雪肆虐美国24州,中国留学生直呼罕见:大雪灌入地铁像AI画面</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">澎湃新闻</span><span class="rank-num high">4</span><span class="time-info">14时29分</span>
</div>
<div class="news-title"><a href="https://m.thepaper.cn/newsDetail_forward_32466338" target="_blank" class="news-link">马化腾:AI全家桶未必大家都喜欢,反对黑产外挂录屏上传云端</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">3</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">8</span><span class="time-info">14时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2270597" target="_blank" class="news-link">腾讯正式推出社交AI功能“元宝派”,实测来了!</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">4</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">百度热搜</span><span class="rank-num ">13</span><span class="time-info">14时29分</span>
</div>
<div class="news-title"><a href="https://www.baidu.com/s?wd=AI%E6%89%BF%E8%AF%BA%E5%86%85%E5%AE%B9%E6%9C%89%E8%AF%AF%E8%B5%94%E5%81%BF10%E4%B8%87+%E7%94%A8%E6%88%B7%E8%B5%B7%E8%AF%89" target="_blank" class="news-link">AI承诺内容有误赔偿10万 用户起诉</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">5</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">知乎</span><span class="rank-num ">17</span><span class="time-info">14时29分</span>
</div>
<div class="news-title"><a href="https://www.zhihu.com/question/1998931277835941056" target="_blank" class="news-link">开源 AI 助理 Clawdbot 获 Karpathy 点赞,它究竟是什么,有何亮点?</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">6</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">微博</span><span class="rank-num ">27</span><span class="time-info">14时29分</span>
</div>
<div class="news-title"><a href="https://s.weibo.com/weibo?q=%23%E5%A4%96%E7%BD%91AI%E8%A7%86%E9%A2%91%E5%81%87%E5%A6%82%E4%B8%AD%E5%9B%BD%E6%9B%BF%E4%BB%A3%E4%BA%86%E7%BE%8E%E5%9B%BD%23&t=31&band_rank=27&Refer=top" target="_blank" class="news-link">外网AI视频假如中国替代了美国</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">谐波器 机器人</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">2/3</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">百度热搜</span><span class="rank-num top">3</span><span class="time-info">14时29分</span>
</div>
<div class="news-title"><a href="https://www.baidu.com/s?wd=%E5%B7%A5%E4%B8%9A%E6%9C%BA%E5%99%A8%E4%BA%BA%E5%BD%93%E2%80%9C%E8%BD%A6%E9%97%B4%E4%B8%BB%E4%BB%BB%E2%80%9D%E8%BF%98%E6%9C%89%E5%A4%9A%E8%BF%9C" target="_blank" class="news-link">工业机器人当“车间主任”还有多远</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">航天 飞船</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">3/3</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">知乎</span><span class="rank-num ">7</span><span class="time-info">14时29分</span>
</div>
<div class="news-title"><a href="https://www.zhihu.com/question/1999411966171690180" target="_blank" class="news-link">如何看待中国科学院大学成立星际航行学院?这会给我国航天事业发展带来哪些影响?</a>
</div>
</div>
</div>
</div>
<div class="topic-trend-section">
<div class="topic-trend-title">🔥 异常热度话题</div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">外交部提醒春节避免前往日本</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>外交部提醒春节避免前往日本</li><li>外交部提醒春节避免前往日本</li><li>外交部提醒春节避免前往日本</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">马化腾</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>马化腾:希望重现当年微信红包盛况</li><li>元宝AI春节10亿红包!马化腾:希望重现当年微信红包盛况</li><li>马化腾:AI全家桶未必大家都喜欢,反对黑产外挂录屏上传云端</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">特朗普</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>“关税阴霾”卷土重来?特朗普:韩国对贸易协议“不作为”,上调税率至25%!</li><li>特朗普:提高对韩国多种商品关税税率至25%</li><li>特朗普:提高对韩国关税</li></ul></div></div>
<div class="topic-trend-section">
<div class="topic-trend-title">✨ 关注话题趋势</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">AMD</div>
<div class="word-count">1 条提及 <span style="color: #059669;">(↓100.00%)</span></div>
</div>
</div>
<div class="news-item">
<div class="news-content" style="padding-right: 0;">
<img src="data:image/png;base64,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" alt="AMD 趋势图" style="width: 100%; height: auto;" />
</div>
</div>
</div></div>
</div>
<div class="footer">
<div class="footer-content">
</div>
</div>
</div>
<script>
async function saveAsImage() {
const button = event.target;
const originalText = button.textContent;
try {
button.textContent = '生成中...';
button.disabled = true;
window.scrollTo(0, 0);
// 等待页面稳定
await new Promise(resolve => setTimeout(resolve, 200));
// 截图前隐藏按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 再次等待确保按钮完全隐藏
await new Promise(resolve => setTimeout(resolve, 100));
const container = document.querySelector('.container');
const canvas = await html2canvas(container, {
backgroundColor: '#ffffff',
scale: 1.5,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
removeContainer: false,
foreignObjectRendering: false,
logging: false,
width: container.offsetWidth,
height: container.offsetHeight,
x: 0,
y: 0,
scrollX: 0,
scrollY: 0,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
buttons.style.visibility = 'visible';
const link = document.createElement('a');
const now = new Date();
const filename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}.png`;
link.download = filename;
link.href = canvas.toDataURL('image/png', 1.0);
// 触发下载
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
button.textContent = '保存成功!';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
async function saveAsMultipleImages() {
const button = event.target;
const originalText = button.textContent;
const container = document.querySelector('.container');
const scale = 1.5;
const maxHeight = 5000 / scale;
try {
button.textContent = '分析中...';
button.disabled = true;
// 获取所有可能的分割元素
const newsItems = Array.from(container.querySelectorAll('.news-item'));
const wordGroups = Array.from(container.querySelectorAll('.word-group'));
const newSection = container.querySelector('.new-section');
const errorSection = container.querySelector('.error-section');
const header = container.querySelector('.header');
const footer = container.querySelector('.footer');
// 计算元素位置和高度
const containerRect = container.getBoundingClientRect();
const elements = [];
// 添加header作为必须包含的元素
elements.push({
type: 'header',
element: header,
top: 0,
bottom: header.offsetHeight,
height: header.offsetHeight
});
// 添加错误信息(如果存在)
if (errorSection) {
const rect = errorSection.getBoundingClientRect();
elements.push({
type: 'error',
element: errorSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 按word-group分组处理news-item
wordGroups.forEach(group => {
const groupRect = group.getBoundingClientRect();
const groupNewsItems = group.querySelectorAll('.news-item');
// 添加word-group的header部分
const wordHeader = group.querySelector('.word-header');
if (wordHeader) {
const headerRect = wordHeader.getBoundingClientRect();
elements.push({
type: 'word-header',
element: wordHeader,
parent: group,
top: groupRect.top - containerRect.top,
bottom: headerRect.bottom - containerRect.top,
height: headerRect.height
});
}
// 添加每个news-item
groupNewsItems.forEach(item => {
const rect = item.getBoundingClientRect();
elements.push({
type: 'news-item',
element: item,
parent: group,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
});
});
// 添加新增新闻部分
if (newSection) {
const rect = newSection.getBoundingClientRect();
elements.push({
type: 'new-section',
element: newSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 添加footer
const footerRect = footer.getBoundingClientRect();
elements.push({
type: 'footer',
element: footer,
top: footerRect.top - containerRect.top,
bottom: footerRect.bottom - containerRect.top,
height: footer.offsetHeight
});
// 计算分割点
const segments = [];
let currentSegment = { start: 0, end: 0, height: 0, includeHeader: true };
let headerHeight = header.offsetHeight;
currentSegment.height = headerHeight;
for (let i = 1; i < elements.length; i++) {
const element = elements[i];
const potentialHeight = element.bottom - currentSegment.start;
// 检查是否需要创建新分段
if (potentialHeight > maxHeight && currentSegment.height > headerHeight) {
// 在前一个元素结束处分割
currentSegment.end = elements[i - 1].bottom;
segments.push(currentSegment);
// 开始新分段
currentSegment = {
start: currentSegment.end,
end: 0,
height: element.bottom - currentSegment.end,
includeHeader: false
};
} else {
currentSegment.height = potentialHeight;
currentSegment.end = element.bottom;
}
}
// 添加最后一个分段
if (currentSegment.height > 0) {
currentSegment.end = container.offsetHeight;
segments.push(currentSegment);
}
button.textContent = `生成中 (0/${segments.length})...`;
// 隐藏保存按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 为每个分段生成图片
const images = [];
for (let i = 0; i < segments.length; i++) {
const segment = segments[i];
button.textContent = `生成中 (${i + 1}/${segments.length})...`;
// 创建临时容器用于截图
const tempContainer = document.createElement('div');
tempContainer.style.cssText = `
position: absolute;
left: -9999px;
top: 0;
width: ${container.offsetWidth}px;
background: white;
`;
tempContainer.className = 'container';
// 克隆容器内容
const clonedContainer = container.cloneNode(true);
// 移除克隆内容中的保存按钮
const clonedButtons = clonedContainer.querySelector('.save-buttons');
if (clonedButtons) {
clonedButtons.style.display = 'none';
}
tempContainer.appendChild(clonedContainer);
document.body.appendChild(tempContainer);
// 等待DOM更新
await new Promise(resolve => setTimeout(resolve, 100));
// 使用html2canvas截取特定区域
const canvas = await html2canvas(clonedContainer, {
backgroundColor: '#ffffff',
scale: scale,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
logging: false,
width: container.offsetWidth,
height: segment.end - segment.start,
x: 0,
y: segment.start,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
images.push(canvas.toDataURL('image/png', 1.0));
// 清理临时容器
document.body.removeChild(tempContainer);
}
// 恢复按钮显示
buttons.style.visibility = 'visible';
// 下载所有图片
const now = new Date();
const baseFilename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}`;
for (let i = 0; i < images.length; i++) {
const link = document.createElement('a');
link.download = `${baseFilename}_part${i + 1}.png`;
link.href = images[i];
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
// 延迟一下避免浏览器阻止多个下载
await new Promise(resolve => setTimeout(resolve, 100));
}
button.textContent = `已保存 ${segments.length} 张图片!`;
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
console.error('分段保存失败:', error);
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
document.addEventListener('DOMContentLoaded', function() {
window.scrollTo(0, 0);
});
</script>
</body>
</html>