javascript - 从 URL 获取文件名并剥离文件扩展名

标签 javascript

我只需要从 url 获取不带扩展名的文件名,但无法完全获取。

这是我有问题的网址: https://www.mealenders.com/shop/index.php/shop/solo-pack.html

这是我尝试过的:

function () {
 var value={{Page Path}}.split("/");
 return value.reverse()[0];
 }

当它返回“solo-pack.html”时,这几乎让我明白了。为此,我还需要做什么才能摆脱“.html”?

提前致谢。

最佳答案

您可以使用 javascript 执行以下操作。 Pop返回最后一个元素是一个字符串,然后你可以使用 replace函数仅获取末尾没有 .html 的文件名。

function getFilename () {
  return {{ Page Path }}.split('/').pop().replace('.html', '');
}

我看到 {{ Page Path }} 可能是某种模板语言,但您可以修改上面的脚本,以获取当前 URL,然后获取文件名。

function getFilename () {
  return window.location.href.split('/').pop().replace('.html', '');
}

此外,您可以通过以下方式使其更加动态地处理任何文件扩展名。您需要使用 indexOf 获取期间的索引然后 sub string从文件名的开头到句点的位置。

function getFilename () {
  var filename = window.location.href.split('/').pop();
  return filename.substr(0, filename.lastIndexOf('.');
}

关于javascript - 从 URL 获取文件名并剥离文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43638163/

相关文章:

javascript - 带有大边框的 jquery ui 可调整大小的 div

javascript - 模板先决条件从哪里加载?

javascript - 如何测试 GCP 函数文件中编写的函数

javascript - Firefox 中的 React 性能问题?

javascript - 当 mangle :true is set in grunt-contrib-uglify 时,局部变量名称映射在开发工具中不起作用

javascript - 是否应该在 AngularJS 上设置 angular.module 变量

javascript - 如何在更改时在 IE 中获取文件输入

javascript - Redux:Reducer 需要其他 Reducer 的状态?

javascript - 如何向API链接添加动态变量?

javascript - Angular :无法获取/