【问题标题】:Retrieving file name with Javascript (without URL?)使用 Javascript 检索文件名(没有 URL?)
【发布时间】:2010-01-19 00:16:26
【问题描述】:

我需要检索 HTM 文件的文件名 - 该文件需要检索其自己的文件名 - 以便在同一文件中的另一个 Javascript 函数中使用。到目前为止,我有 -

var Docname = "ESSA_CL_2009_01"
var DSstem = new Spry.Data.XMLDataSet("ESSA10_DA_sourceData_19_1.xml", "ESSA_CL_2009/" + Docname + "/Item_stem");

(Spry 或 AJAX 的东西已经设置好了)

我希望动态生成的 var Docname。它还没有这样的 URL - 我无法控制它的最终目的地。

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 在这种情况下ESSA_CL_2009_01 是什么?
  • ESSA_CL_2009_01 是没有 .htm 后缀的文件名,如果我要手动操作的话。但是我想动态地做事,所以我想用代码替换我在上面输入的第一行代码。我在想(与我最初所说的相反)它仍然有一个 URL .. 我只需要没有其前面的 URL 内容和后缀的文件名。
  • 现在webmasterworld.com/forum91/386.htm 讨论了类似的问题。那里提供的用于从 URL 检索文件名的代码如下: var url = document.URL; var Docname =(url.substring(url.lastindexOf("\\")+1,url.lastindexOf("\."))); // 对于 windows var Docname =(url.substring(url.lastindexOf("\/")+1,url.lastindexOf("\."))); // for *nix document.write(Docname);无论出于何种原因,这似乎都不起作用..

标签: javascript dreamweaver filenames spry


【解决方案1】:

如果“Docname”指的是当前页面的静态文件路径,那么您可以使用 document.location.pathname 获取 URL 的路径名部分,然后将其解析为字符串以仅获取您想要的部分。

【讨论】:

  • 谢谢.. um - 不会有静态文件路径:文件的最终目标位置将不同且未知.. 使用 var url=document.URL 似乎是作为初始代码行的正确方法,而不是路径名(?) - 但它也不起作用..(我确实尝试过 var url=document.location.pathname;)
【解决方案2】:
var getFileName = function (uri) {
  var fileName = uri.substr(uri.lastIndexOf("/") + 1);
  return fileName.substr(0, fileName.lastIndexOf("."));
};

【讨论】:

    猜你喜欢
    • 2019-03-05
    • 1970-01-01
    • 2011-04-08
    • 2019-01-15
    • 2019-11-30
    • 2015-06-03
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多