javascript - ViewerJS str.replace 如何使其工作

标签 javascript html

我正在查看 ViewerJS,看起来很合适,我发现的唯一问题是标题显示为 %20 而不是空格。我知道为什么,但我不知道如何解决它。

所以看起来这段代码首先起作用了。我如何在这里修复它以使其显示没有 %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';
}

最佳答案

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

关于javascript - ViewerJS str.replace 如何使其工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43579857/

相关文章:

javascript - 如何通知 TypeScript 编译器对 JS 数组原型(prototype)的扩展?

javascript - three.js OrbitControls 与 HTML5 Canvas 冲突?

javascript - HTTP 调用结束时的事件调用

html - Outlook 2003 从 html 邮件中删除除第一个图像之外的所有图像

javascript - window.alert() 后无法编辑输入文本字段

javascript - 网站滚动问题

javascript - 以 gzip 格式从 node.js 服务器向客户端发送 socket.io 响应数据

HTML 到 PDF rails

javascript - JQuery .mouseover 和 .mouseout 改变字体颜色

html - css下拉菜单落后于谷歌图表