0
我正在看一看ViewerJS,看起來像是一個很好的合適的唯一的問題,我發現是標題出來%20而不是空間。我知道爲什麼,但我無法弄清楚如何解決它。ViewerJS str.replace如何使它工作
所以它看起來像這個代碼得到工作第一。我如何修正它在這裏,使其顯示沒有%20。
function getPDFFileNameFromURL(url) {
var reURI = /^(?:([^:]+:)?\/\/[^\/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
// SCHEME HOST 1.PATH 2.QUERY 3.REF
// Pattern to get last matching NAME.pdf
var reFilename = /[^\/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
var splitURI = reURI.exec(url);
var suggestedFilename = reFilename.exec(splitURI[1]) ||
reFilename.exec(splitURI[2]) ||
reFilename.exec(splitURI[3]);
if (suggestedFilename) {
suggestedFilename = suggestedFilename[0];
if (suggestedFilename.indexOf('%') !== -1) {
// URL-encoded %2Fpath%2Fto%2Ffile.pdf should be file.pdf
try {
suggestedFilename =
reFilename.exec(decodeURIComponent(suggestedFilename))[0];
} catch(e) { // Possible (extremely rare) errors:
// URIError "Malformed URI", e.g. for "%AA.pdf"
// TypeError "null has no properties", e.g. for "%2F.pdf"
}
}
}
return suggestedFilename || 'document.pdf';
}
https://www.w3schools.com/jsref/jsref_replace.asp – Vbudo
嘗試decodeURIComponent(),https://www.w3schools.com/jsref/jsref_decodeuricomponent.asp –
@ rackemup420你有沒有嘗試在他們的Github repo上發佈一個問題https://github.com/kogmbh/ViewerJS? – Juniuz