2012-12-02 8 views
5

以下は私が持っているものです。window.location.indexOfがJavascriptで動作していません

var myString = "http://localhost:8888/www.smart-kw.com/"; 
alert(myString.indexOf("localhost")); 

これは私に警告を与える、私はvar myString = window.location;var myString = "http://localhost:8888/www.smart-kw.com/";を変更した場合...しかし、それは(私は警告を取得していない)動作しません。

var myString = window.location; 
alert(myString.indexOf("localhost")); 
+0

@MartijnPieters:さて、私はそれを世話します。 –

答えて

22

window.locationオブジェクトではなく文字列であり、そしてそれはindexOf機能はありません。 (これはwindow.location = "some url";が実際に働くことを考えると、人々は時々、それは文字列だと思うことを完全に理解できるのですが、それはものではありません。)

あなたが好きな場合は、それのための文字列を取得するためにwindow.location.toString()String(window.location)、またはwindow.location.hrefを使用することができ、または詳細を確認するにはits various propertiesのいずれかを使用してください。

  • hash:#記号を含む#記号を、次のURLの一部のリンクからは、例のURL http://www.example.com:80/search?q=devmo#testを与えられました。ハッシュ変更イベントをリッスンして、サポートするブラウザでハッシュの変更を通知できます。
    例:#test
  • host:ホスト名とポート番号。
    例:www.example.com:80
  • hostname:ホスト名(ポート番号なし)。
    例:www.example.com
  • href:URL全体。
    例:http://www.example.com:80/search?q=devmo#test
  • pathname:パス(ホストからの相対パス)。
    例:/search
  • port:URLのポート番号。
    例:80
  • :URLのプロトコル。
    例:http:
  • search:次のURLの部分は?シンボルを含む?シンボル。
    例:?q=devmo

例えば、あなたの引用されたたとえば、あなたがwindow.location.hostname === "localhost"をチェックすることがあります。

1

私はこの作品を作るための方法を見つけました:

(window.location.href).indexOf("localhost") > -1) 

私が実際に条件文として私のプロジェクトのためにこれを使用して、それだけで正常に動作します。