我需要根据 URL 末尾的内容来让叠加层向下滑动。
如果(URL 末尾有 'faq'){ 覆盖下降 }
你怎么能在 jQuery/JavaScript 中做到这一点?
我需要根据 URL 末尾的内容来让叠加层向下滑动。
如果(URL 末尾有 'faq'){ 覆盖下降 }
你怎么能在 jQuery/JavaScript 中做到这一点?
如果你的 URL 看起来像这样http://yourdomain.com/faq
,你可以这样做:
var url = window.location.href;
var lastPart = url.substr(url.lastIndexOf('/') + 1);
if (lastPart === "faq") {
// Show your overlay
}
这将使检查其他结局并对其采取行动成为可能。
更新:
为了让它工作,即使 URL 有一个斜杠,你也可以创建一个这样的函数:
function getLastPart(url) {
var parts = url.split("/");
return (url.lastIndexOf('/') !== url.length - 1
? parts[parts.length - 1]
: parts[parts.length - 2]);
}
然后,您可以调用该函数getLastPart(window.location.href)
来获取当前页面 URL 的最后一部分。
这也是一个工作示例:http: //jsfiddle.net/WuXHG/
免责声明:如果您的 URL 在末尾使用哈希或查询字符串,则必须先从 URL 中删除,以便此脚本正常工作
您应该可以通过正则表达式使用 window.location 对象,如下所示:
/faq$/.test(window.location)
endsWith()
ES6 规范中添加了一个新方法。对于以前的版本,我们可以使用 polyfill
if (!String.prototype.endsWith)
String.prototype.endsWith = function(searchStr, Position) {
// This works much better than >= because
// it compensates for NaN:
if (!(Position < this.length))
Position = this.length;
else
Position |= 0; // round position
return this.substr(Position - searchStr.length,
searchStr.length) === searchStr;
};
现在您可以轻松编写
If (window.location.href.endsWith("faq")) {
// Show your overlay
}
参考: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
您可以使用以下方式获取当前 URL:
var currentUrl = window.location.href;
然后您可以使用 indexOf 检查您的令牌是否在字符串末尾(此处为常见问题解答)
if (currentUrl.indexOf('faq') == currentUrl.length - 3)
{
// Do something here
}