代码片段 → JavaScript → 使用 JavaScript 获取当前页面 使用 JavaScript 获取当前页面 Chris Coyier 于 2010 年 1 月 22 日 这类似于使用 JavaScript 替代 PHP 的 SCRIPT_NAME。 location.href.split('/').pop(); 例如,对于以下 URL:https://css-tricks.cn/examples/ScriptName/index.php 这段代码: document.write( location.href.split('/').pop() ); 将在页面中写入:“index.php”。
这段代码存在一个重大问题。
如果你将示例页面更改为:
https://css-tricks.cn/examples/ScriptName/
你会发现没有任何内容被返回。因此,如果你正在编写依赖于返回 “index.php” 的代码,你的代码将无法执行。
没错。它只有在你运行一个以严格方式强制执行 URL 的 Web 应用程序时才会真正有用,这样就不会有多个 URL 访问同一个地方的可能性。
有什么解决方法吗?
确实,任何 .httaccess URL 重写都会导致这段代码无法工作。最常见的 URL 重写是删除 index.php 或 index.html。
它适用于 https://css-tricks.cn/examples/ScriptName/index.php,但 URL 通常以这种方式重写
https://css-tricks.cn/examples/ScriptName/
在最坏的情况下,甚至还会涉及到 html 元素的参数和引用
https://css-tricks.cn/examples/ScriptName/?arg=value#myDiv
没有办法真正知道服务器上**真正**请求了哪个页面,因为 URL 重写是**服务器端**的,而 JavaScript 是**客户端**的。但是,如果你假设一个带有常见 URL 重写的常见服务器,你可以说以 “/” 结尾的 URL 可能是一个名为 index.php 的页面。
以下代码适用于所有这些 URL(包括原始 URL)
请记住,URL 不反映服务器端执行的脚本并不罕见。
Chris,有没有办法在一个页面上使用多个脚本?我使用了一个手风琴旋转和一个下拉菜单
Apple 风格的导航栏都运行良好
但我没有页面滚动条,所以我无法查看内容。我学习这个才一个星期左右
所以我不太擅长 JavaScript。我应该怎么做呢?我在 Dreamweaver 中创建了大部分网站
所以在制作完原型后,我将其保存为模板。
我仍然可以在里面添加更多脚本吗?
有什么技巧吗?我不知道该怎么办。谢谢。
它还会包含请求参数和散列,例如
inde.php?s=products#data-tab
art
教程在哪里?
这是一个需要刷新的旧链接?嘿 Chris,感谢你的辛勤工作,我已经使用了你的许多技巧。
这在 WordPress 网站上有效吗?这个技巧的功能是什么?