0

我有这个网址:

csumb/index.php?page=consultanta 

我尝试比较 2 个链接,但如果我更改链接并刷新页面,此代码会执行相同的操作。

var pathname = window.location.pathname;
var a = "csumb/index.php?page=consultanta";

if(pathname == a) {
    $("body").html("rahat");
}
4

4 回答 4

2

有多个部分location(或window.location,使用文字参考):

https://packagist.org/search/?search_query%5Bquery%5D=symfony

console.log(location)直接在 Chrome 控制台中使用,它提供了以下属性(以及其他一些东西):

hash: ""
host: "packagist.org"
hostname: "packagist.org"
href: "https://packagist.org/search/?search_query%5Bquery%5D=symfony&page=4"
origin: "https://packagist.org"
pathname: "/search/"
port: ""
protocol: "https:"
search: "?search_query%5Bquery%5D=symfony&page=4"

你真正追求的是:

var pathname = location.pathname + location.search;
var a = "/csumb/index.php?page=consultanta";
//       ^ Note the / at the beginning

文件名,如果在 URL 中,将在 中location.pathname,因此index.php也不需要单独添加。

于 2013-01-12T10:58:17.457 回答
1

试试这个:

var pathname = window.location.pathname;
var search = window.location.search;
var a = "/csumb/index.php?page=consultanta";

if((pathname + search) == a) {
    $("body").html("rahat");
}
于 2013-01-12T10:55:39.223 回答
1

这不是 jQuery,请将标题编辑为 javascript。if 语句中不使用 jQuery 部分。window.location.pathname 返回类似 /csumb/index.php 的内容,不带参数。所以如果你想用其他参数检查路径名,你需要这样做:

var path = window.location.pathname + window.location.search; 
于 2013-01-12T11:02:16.840 回答
0

您需要使用===运算符并且需要添加“/”。

你还需要window.location.search

var a = "/csumb/index.php?page=consultanta";
var search = window.location.search;
var pathname = window.location.pathname;

if(pathname + search === a) {
    $("body").html("rahat");
}
于 2013-01-12T10:53:54.583 回答