我有一个脚本,基本上我正在尝试使用 javascript/jquery (with location.pathname
) 查找 .php 文件的位置。所以,我的问题基本上是,如果用户输入一些奇怪的东西,比如:
url.com/
或url.com////
或url.com////index.php////
或url.com////index.php.////
,然后我需要一种处理此问题的方法,以便我可以获取/index.php
,以便我可以选择该文件并从中加载一些内容(使用 ajax),以及选择一个元素,href = "/index.php"
以便我可以使其成为活动链接.
还有这样的额外问题:
url.com/projects/index.php
,url.com////projects//index.php
为此我想/projects/index.php
再次正确选择文件的输出。
有这样做的标准方法吗?我想避免使用一些正则表达式或字符串替换方法,因为我不确定它是否能够处理所有情况,尽管如果解决他的正确方法是这样做,那么我将继续实施它。浏览器使用解析器来确定要加载的文件,所以如果有一个解决方案使用类似的东西(可能是内置的或其他东西),那就太好了。我尝试搜索 jquery url 解析器或清理程序,但实际上我不确定我应该寻找的术语是什么,所以我的搜索结果很短。
编辑:就像一些背景一样,我基本上是在实现这个: http: //css-tricks.com/rethinking-dynamic-page-replacing-content/,但我需要一种方法来调整它,以便它可以在 sub 中找到文件目录也是如此。
EDIT2:这是我的意思的一个例子:
EDIT3:这是我正在使用的 ajax 调用,它在 popstate 上触发:
var file = location.pathname;
$("#content").load(file + " #content", function() {
$("#menu ul a").removeClass("current");
$("#menu ul a[href="+file+"]").addClass("current");
});
当我为奇怪的浏览器条目执行此操作时,加载和 href 显然会失败,因为该href
属性href = "/index.php"
在我的网站中设置为。load
即使可以加载页面,该功能也会因奇怪的输入而失败。