2012-04-13 15 views

答えて

125

変更この...

var string = document.location; 

これに...

var string = document.location + ''; 

document.locationLocation objectです。デフォルトの.toString()は文字列形式で位置を返します。連結するとその位置がトリガーされます。


また、document.URLを使用して文字列を取得することもできます。あなたは現在のURL

+22

ハッキー連結の代わりに' toString() 'を呼び出す方がクリーンではないでしょうか? – kapa

+1

@bažmegakapa:それは好みの問題です。 '+ ''は文字列強制の非常に一般的なトリックですが、' toString() 'メソッドを好む人もいます。私は数値変換に単項 '+'を使うよりも、それ以上の面倒は考えていません。 –

+2

それはちょうど醜いです。 'parseInt()'と 'parseFloat()'があります。 'Number()'もあります。 '+'は当然短くなりますが、コードをハックするのに慣れていない人や経験の少ない人にとっては読みにくくなります。 – kapa

39

多分

string = document.location.href; 
arrayOfStrings = string.toString().split('/'); 

おそらくdocument.location.hrefまたはdocument.location.pathnameを代わりに使用したいと考えています。この

// you'll see that it prints Object 
console.log(typeof document.location); 

2

document.locationが文字列でないと仮定したい

+0

笑。同時に4つの答え(少なくとも)。私はSOに関する最新の質問を見るべきではありません:) –

6

実行あなたはdocument.location`がオブジェクトである `document.location.toString()またはdocument.location.href

+0

ありがとう。私はvarを文字列からオブジェクトに変換したことを認識していませんでした。あなたのソリューションは私のコードをチェックバックするアイデアを与えました。 – sg552

関連する問題