0

在 jQuery 中,我如何检查用户是否正在访问特定的直接id链接 url?

例如:

http://mydomain.com/#foo

在这种情况下,我喜欢检查foo.

会喜欢这样的东西:

if(jQuery.urlHasHash("foo")) {
    //logic here
 }
4

3 回答 3

2

无需 jQuery,您的浏览器为您提供所需的一切document.location.hash

如果您想检查您的页面上是否存在这样的 ID:

var hash = document.location.hash.replace(/^#/, '');

if (document.location.hash != '' && document.getElementById(hash) { 
  // or just: $(document.location.hash)
  // ...
}
于 2013-10-24T07:59:08.240 回答
0

试试这个演示 http://jsfiddle.net/7QceB/

这可能适合您的需求:)

代码

$(function(){
    //var href = location.href; // get the url
    var href = "http://mydomain.com/#foo"; // example url
    var split = href.split("#"); // split the string; usually there'll be only one # in an url so there'll be only two parts after the splitting
    var afterSplit = "Error parsing url";
    if(split[1] != null){
        afterSplit = split[1];
    }
    // If everything went well shows split[1], if not then de default error message is shown
    alert(afterSplit);
});
于 2013-10-24T08:01:32.887 回答
0

试试我的 jsFiddle:jsFiddle here

// it might be from browser & / anywhere else
var url = "http://mydomain.com/#foo";
url = url.split('#').pop().split('?').pop();
var page = url.substring(url.lastIndexOf('/') + 1);
console.log(page); // foo

要不就

var url = "http://mydomain.com/#foo";
var page = url.substring(url.lastIndexOf('/') + 1); // #foo

之后你可以使用 if 语句知道if (page == "foo")

于 2013-10-24T08:01:41.997 回答