【问题标题】:Get current file name from a url using javascript/jquery when only folder path is known当仅知道文件夹路径时,使用 javascript/jquery 从 url 获取当前文件名
【发布时间】:2013-07-10 16:05:10
【问题描述】:

我正在尝试从 url 获取当前文件名:

$currentFile = window.location.pathname.split("/").pop();

如果完整路径类似于:

http://www.yoursite.com/folder/index.php

它将返回 index.php、index.cfm、index.html 等。

但是当url是http://www.yoursite.com/folder/

我无法检索当前文件名,这可以通过 js 或 jquery 实现吗?

【问题讨论】:

  • 否,因为默认索引文件是网络服务器中的设置。你可以做一个假设,如果你正在加载一个文件夹,就说它是 index.html...
  • 该 URL 没有要获取的文件名。你能解释一下你为什么要这样做吗?
  • 是的,我正在使用 jquery 显示/隐藏特定文件夹结构 /contact 中的元素,但不适用于 index.php 文件,或者仅用于 index.php 文件。
  • 如果您需要知道,您可以尝试在所有默认文档名称上获取 HEAD,按概率顺序排列:index.html、index.htm、index.php、default.aspx、默认值。 asp等第一个不是404的就是正确的url。

标签: javascript jquery filepath pathname


【解决方案1】:

如果 URL 中只有路径,则无法从中获取文件名 - 不使用 jQuery,不使用任何其他客户端方法。这是因为只有发送这个文件的服务器才知道这个文件是什么。具体来说,在 Web 服务器配置中,有一个指令,它指示在仅指定目录名称的情况下要搜索的文件名。例如,在 apache 中这可以是

DirectoryIndex index.html index.php home.htm

这告诉服务器对于只有目录名的请求,服务器将尝试从该目录提供文件index.html;如果不存在,则index.php;如果那也不存在,那么home.htm。如果那个也不存在,那么行为取决于其他配置选项。其他网络服务器软件也有类似的配置选项。

因此,当您向服务器发送http://www.yoursite.com/folder/ 之类的请求时,只有该服务器会知道实际使用的是哪个文件。

【讨论】:

    猜你喜欢
    • 2012-01-21
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 2012-06-13
    相关资源
    最近更新 更多