返回首页

网站地图生成工具

一键生成XML/HTML格式网站地图,支持自动检测当前站点

网站设置

当前网站: 未检测到

生成结果

结果
等待生成网站地图...
网站地图 | ${websiteUrl}

${websiteUrl} 网站地图

最后更新: ${new Date().toLocaleDateString()}

主要页面

产品分类

博客文章

`; document.getElementById('resultContent').textContent = htmlContent; document.getElementById('shareSection').style.display = 'block'; document.querySelector('.format-badge').textContent = 'HTML网站地图'; showSuccessMessage('HTML网站地图生成成功!'); }, 1500); } // 生成当前站点地图 function generateCurrentSiteSitemap() { const currentHostname = getCurrentHostname(); if (!currentHostname || currentHostname === 'localhost' || currentHostname === '') { showErrorMessage('无法检测到当前站点。请确保您通过HTTP/HTTPS访问此页面。'); return; } const protocol = window.location.protocol; const currentUrl = `${protocol}//${currentHostname}`; document.getElementById('websiteUrl').value = currentUrl; showSuccessMessage(`正在为当前站点(${currentUrl})生成XML网站地图...`); generateXmlSitemap(currentUrl); } // 复制结果到剪贴板 function copyResultToClipboard() { const resultContent = document.getElementById('resultContent').textContent; if (!resultContent || resultContent === '等待生成网站地图...') { showErrorMessage('没有可复制的内容'); return; } navigator.clipboard.writeText(resultContent) .then(() => { const copyBtn = document.getElementById('copyResultBtn'); const originalHtml = copyBtn.innerHTML; copyBtn.innerHTML = ' 已复制'; setTimeout(() => { copyBtn.innerHTML = originalHtml; }, 2000); showSuccessMessage('已复制到剪贴板'); }) .catch(() => showErrorMessage('复制失败,请手动复制')); } // 下载XML网站地图 function downloadXmlSitemap() { const resultContent = document.getElementById('resultContent').textContent; if (!resultContent || resultContent === '等待生成网站地图...') { showErrorMessage('没有可下载的内容'); return; } const websiteUrl = document.getElementById('websiteUrl').value.trim(); const domain = websiteUrl ? new URL(websiteUrl).hostname : 'sitemap'; const fileName = `${domain}-sitemap.xml`; const blob = new Blob([resultContent], { type: 'application/xml' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = fileName; document.body.appendChild(a); a.click(); // 清理 setTimeout(() => { document.body.removeChild(a); URL.revokeObjectURL(url); showSuccessMessage(`已下载XML文件: ${fileName}`); }, 100); } // 获取代码 function getCodeSnippet() { const resultContent = document.getElementById('resultContent').textContent; if (!resultContent || resultContent === '等待生成网站地图...') { showErrorMessage('没有可分享的代码'); return; } // 创建代码分享内容 const shareContent = ` ${resultContent} `; document.getElementById('resultContent').textContent = shareContent; document.querySelector('.format-badge').textContent = '网站地图代码'; showSuccessMessage('已生成网站地图代码,可直接复制使用'); } // 分享链接 function shareSitemapLink() { const websiteUrl = document.getElementById('websiteUrl').value.trim(); if (!websiteUrl) { showErrorMessage('请输入有效的网站URL'); return; } const domain = new URL(websiteUrl).hostname; const shareLink = `${window.location.origin}/sitemap/${encodeURIComponent(domain)}`; navigator.clipboard.writeText(shareLink) .then(() => { showSuccessMessage('分享链接已复制到剪贴板: ' + shareLink); }) .catch(() => { showErrorMessage('复制失败,请手动复制URL'); }); } // 清空所有 function clearAll() { document.getElementById('websiteUrl').value = ''; document.getElementById('resultContent').textContent = '等待生成网站地图...'; document.getElementById('shareSection').style.display = 'none'; document.querySelector('.format-badge').textContent = '结果'; showSuccessMessage('已重置所有内容'); } // 页面加载完成后执行 document.addEventListener('DOMContentLoaded', () => { // 初始化显示当前网站 updateCurrentSiteDisplay(); // 事件监听 document.getElementById('generateXmlBtn').addEventListener('click', () => generateXmlSitemap()); document.getElementById('generateHtmlBtn').addEventListener('click', generateHtmlSitemap); document.getElementById('generateCurrentBtn').addEventListener('click', generateCurrentSiteSitemap); document.getElementById('autofillCurrentBtn').addEventListener('click', autofillCurrentSite); document.getElementById('copyResultBtn').addEventListener('click', copyResultToClipboard); document.getElementById('downloadXmlBtn').addEventListener('click', downloadXmlSitemap); document.getElementById('shareCodeBtn').addEventListener('click', getCodeSnippet); document.getElementById('shareLinkBtn').addEventListener('click', shareSitemapLink); document.getElementById('clearBtn').addEventListener('click', clearAll); });