0

私はこのURLを持っています:

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 に編集してください。jQuery 部分は if ステートメントでは使用されません。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 に答える