BookDetailPage: riscritte resolveUrl e sanitizeFileName senza regex (backslash doppi rompevano il caricamento pagina)
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user