fix: 译文iframe内嵌 + 无译文时弹提示

This commit is contained in:
2026-06-02 13:56:17 +00:00
parent 290434017c
commit 83c0d6d0c6
2 changed files with 20 additions and 4 deletions

View File

@@ -190,8 +190,7 @@ function renderPaper(p) {
// Show translation button for ALL papers with arxiv or pdf
const paperId = p.arxiv || (p.pdf ? p.pdf.split('/').pop().replace('.pdf','') : null);
if (paperId) {
const transUrl = `/papers/translated/${paperId}.pdf`;
links.push(`<button class="paper-link trans-btn" data-pdf="${encodeURIComponent(transUrl)}" data-title="${encodeURIComponent(p.title + ' [中文译文]')}" onclick="openPdfBtn(this)">📖 译文</button>`);
links.push('<button class="paper-link trans-btn" data-pdf="/papers/translated/' + paperId + '.pdf" data-title="' + p.title + ' [译文]" onclick="openTrans(this)">📖 译文</button>');
}
return `<div class="paper-item"><div class="paper-year">${p.year||'—'}</div><div class="paper-body" id="${id}">
<div class="paper-title">${p.title}</div>
@@ -208,6 +207,15 @@ function getPdfLink(p) {
function openPdfBtn(btn) { openPdf(btn.dataset.pdf, btn.dataset.title); }
async function openTrans(btn) {
const url = btn.dataset.pdf;
try {
const resp = await fetch(url, { method: 'HEAD' });
if (resp.ok) { openPdf(url, btn.dataset.title); return; }
} catch(e) {}
alert('该论文译文尚未生成,请稍后再试');
}
// ═══════════════ PDF VIEWER (状态条驱动) ═══════════════
function getLocalPdfUrl(extUrl) {
const am = extUrl.match(/arxiv\.org\/pdf\/(\d+\.\d+)/);