2017-04-24 36 views
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'; 
} 
+0

https://www.w3schools.com/jsref/jsref_replace.asp – Vbudo

+0

嘗試decodeURIComponent(),https://www.w3schools.com/jsref/jsref_decodeuricomponent.asp –

+0

@ rackemup420你有沒有嘗試在他們的Github repo上發佈一個問題https://github.com/kogmbh/ViewerJS? – Juniuz

回答

0
var x = 'Some%20string%20with%20spaces'; 
x = x.replace(/%20/g, ' '); 
console.log(x); 
+0

不起作用它打破了pdf查看器部分和標題沒有格式化 – rackemup420