我需要根據URL末尾有一個覆蓋圖向下滑動。如何檢查URL是否在末尾有一個特定的字符串
如果(URL有 '常見問題解答' 末) { 覆蓋歸結 }
你怎麼能做到這一點jQuery的/ JavaScript的?
我需要根據URL末尾有一個覆蓋圖向下滑動。如何檢查URL是否在末尾有一個特定的字符串
如果(URL有 '常見問題解答' 末) { 覆蓋歸結 }
你怎麼能做到這一點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
}
這樣可以檢查其他結局並對它們採取行動。
更新:
得到它的工作,即使網址有一個尾隨斜線,您可以創建這樣一個功能:
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/
免責聲明:如果您的網址結尾,或查詢字符串使用散列,你就必須首先從網址中去除,此腳本才能正常工作
您應該能夠使用window.location的對象這一個正則表達式,像這樣:
/faq$/.test(window.location)
忽略參數:/path\/to$/.test(window.location.pathname) –
可以使用得到當前的URL:
var currentUrl = window.location.href;
然後你可以使用的indexOf檢查,如果您的令牌是字符串(這裏FAQ)
012結束if (currentUrl.indexOf('faq') == currentUrl.length - 3)
{
// Do something here
}
已將新方法endsWith()
添加到ES6規範中。對於以前的版本中,它可以使用
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字符串或你的意思是當前網頁的網址? –
抱歉,我的錯誤URL是實際的網頁網址... – Alex
您的網址看起來像什麼?爲了更容易地找出正確的方法 – Salketer