1

以下の JavaScript があり、URL (window.location)に www が含まれていない場合。JavaScriptが実行されます

var windowloc = window.location; // http://mywebsite.com/
var homeurl = "http://mywebsite.com/";
if(windowloc==homeurl){
//JavaScript IS EXECUTED
}

その場合、JavaScriptは実行されません。

var windowloc = window.location; // http://www.mywebsite.com/
var homeurl = "http://mywebsite.com/";
if(windowloc==homeurl){
//JavaScript is NOT executed.
}

JavaScript が www.

4

5 に答える 5

2

次のようなコードを使用して、ドメインに www.mywebsite.com が含まれているかどうかを確認します。

if (window.location.href.indexOf("//www.mywebsite.com/") != -1) {
     // code to execute if it is www.mywebsite.com
} else {
     // code to execute if it is not www.mywebsite.com
}

または、次のように window.location のホスト名部分のみを使用して、「www.」を確認することもできます。

if (window.location.hostname.indexOf("www.") != -1) {
     // code to execute if it is www. something
} else {
     // code to execute if it is not www. something
}

または、ドメイン全体を正確に確認したい場合は、次のようにすることができます。

if (window.location.hostname === "www.mywebsite.com" {
     // code to execute if it is www.mywebsite.com
} else {
     // code to execute if it is not www.mywebsite.com
}
于 2011-12-23T23:37:23.193 に答える
1

他の答えが提供すると確信しているので、正規表現を使用してそれを克服できます。ただし、 Google などの検索エンジンはhttp://mywebsite.com/www http://www.mywebsite.com/. および www のないバージョンの 2 つの別個の Web サイト。

URL は常に www. バージョン。

于 2011-12-23T23:37:17.127 に答える
0
if (window.location.href.indexOf("://www") === -1) {
    // "www" excluded
} else {
    // other stuff
}

コードサンプルをより具体的に編集しました

于 2011-12-23T23:35:57.950 に答える
0
if(window.location.href.indexOf('mywebsite.com')!= -1){
   //do stuff
}
于 2011-12-23T23:38:02.540 に答える
0

hostnameオブジェクトのプロパティを使用して、locationサービスを受けているアドレスを特定します。

if (location.hostname==='mywebsite.com')
    // do something

locationリンクのような他のアドレス所有オブジェクトには、 、 、 などのプロパティがhostnameありpathnamesearch既にhash解析された URL の部分を提供するため、URL 文字列を自分で分解しようとする必要はありません。www.ホスト名ではない文字列内の別の場所にある可能性があるため、場所文字列での存在を探すだけではありません。

しかし、+1 ジャスティンの答え: www 以外のアドレスなどの代替アドレスを正規のアドレスにリダイレクトしようとしている場合、それを行う正しい方法は HTTP 301 リダイレクトを使用することであり、JavaScript とは関係ありません。Redirectこれは通常、サーバー レベルで設定されます。たとえば、Apache の場合は.htaccess.

于 2011-12-24T00:01:38.733 に答える