mirror of
https://gitee.com/kekingcn/file-online-preview.git
synced 2026-11-11 22:00:44 +00:00
fix(#787): derive Viewer title from data-original-url so image preview shows the filename (was empty for <div src>)
This commit is contained in:
@@ -58,6 +58,17 @@
|
||||
});
|
||||
}
|
||||
|
||||
// 从原始图片 URL 提取文件名(优先用 data-original-url,避免受反代 / CORS 代理 URL 影响)
|
||||
function getImageNameFromOriginalUrl(imageElement) {
|
||||
var originalUrl = imageElement.getAttribute('data-original-url') || '';
|
||||
// 去除查询串与锚点
|
||||
var noQuery = originalUrl.split('?')[0].split('#')[0];
|
||||
// 取路径最后一段作为文件名(兼容 / 与 \)
|
||||
var lastSep = Math.max(noQuery.lastIndexOf('/'), noQuery.lastIndexOf('\\'));
|
||||
var name = lastSep >= 0 ? noQuery.substring(lastSep + 1) : noQuery;
|
||||
return name || 'image';
|
||||
}
|
||||
|
||||
// 初始化图片查看器
|
||||
function initImageViewer() {
|
||||
var viewer = new Viewer(document.getElementById('image'), {
|
||||
@@ -66,6 +77,11 @@
|
||||
button: false,
|
||||
backdrop: false,
|
||||
loop: true,
|
||||
// #787: <div> 没有 DOM 的 src 属性,Viewer.js 用 image.src 取标题会得到 undefined;
|
||||
// 改为从 data-original-url 派生标题文件名(该属性在元素克隆时会被保留)
|
||||
title: function (image, imageData) {
|
||||
return getImageNameFromOriginalUrl(image);
|
||||
}
|
||||
});
|
||||
viewer.view(0); // 0 是图片的索引,如果你想点击第一张图片,索引为 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user