BookDetailPage: riscritte resolveUrl e sanitizeFileName senza regex (backslash doppi rompevano il caricamento pagina)

This commit is contained in:
2026-08-12 12:20:01 +02:00
parent 62452b470e
commit ca19efd82a
+13 -3
View File
@@ -122,15 +122,25 @@ Page {
return u
var base = appSettings.baseUrl
// il server dietro sottopath (es. /calibre) emette link che lo includono già:
// evita di raddoppiarlo
var basePath = base.replace(/^https?:\/\/[^\/]+/, "")
// evita di raddoppiarlo (solo operazioni su stringhe, niente regex)
var schemeEnd = base.indexOf("://")
var slash = base.indexOf("/", schemeEnd + 3)
var basePath = slash >= 0 ? base.substring(slash) : ""
if (basePath.length > 1 && u.indexOf(basePath) === 0)
return base + u.substring(basePath.length)
return base + (u.charAt(0) === "/" ? u : "/" + u)
}
function sanitizeFileName(s) {
return s.replace(/[\\/:*?"<>|]/g, "_").replace(/\s+/g, " ").trim()
var out = ""
for (var i = 0; i < s.length; i++) {
var c = s.charAt(i)
if (c === '/' || c === ':' || c === '*' || c === '?' || c === '"' || c === '<' || c === '>' || c === '|' || c.charCodeAt(0) === 92)
out += '_'
else
out += c
}
return out.trim()
}
function startDownload(format) {