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