2011-01-31 9 views
1

私は力のために道があると思いますwindow.locationを更新しますか?私はajaxを使って結果を生成するページにいます。しかし、バーは同じURLのままなので、実際のURLを取得することはできません。私は疑問に思っています..私はどのようにURLをつかまえますか?ページを更新せずにwindow.locationを強制的に更新することはできますか?window.location強制的に更新しますか?

私が話しているページの種類の例は、Googleインスタントです!

+0

私はシナリオをよりよく説明しなければならないと思います。 * ajax *を使用するページには何がありますか?このページを作成しますか?あなたのブラウザでこのページにアクセスしていますか? 'window.location'にどうやってアクセスしますか?第三者のページにJavaScriptを注入していますか? –

+0

次の質問に基づいて、Googleインスタントページで動作するはずのChrome拡張機能を作成しているとします...正しいですか?そうであれば、 'hashchange'イベントにリスナーを追加するのはおそらくURLを取得する唯一の方法です(しかし、受け入れられた答えがうまくいくなら、* how * :)に興味があります) –

+0

はい、私はChromeを作成しようとしていますGoogle Chromeで動作する拡張機能。しかし、私はajaxレスポンスのURLを得ることができません。 URLが変更されたかどうかを確認するためにMD5を調べるリスナーが既にありますが、URLを取得できないようです。 – Skizit

答えて

1

いいえできません。ページを制御せずにURLを更新していない場合は、何もできません。

しかし、あなたがコントロールを持っている場合、それはアドレスを更新するために、フラグメント識別子やHTML5の新しい歴史のAPIを使用するかにあなたの責任です。 履歴APIを使用しても、window.locationは変更されません。

更新:あなたが話しているかGoogleのインスタントページ

100%わからないが、それは「ノーマル」、Googleのページであれば、あなたは後1または2秒後にそのURLの更新が表示されますあなたはクエリを入力しました。

したがって、hashchange eventのイベントリスナーを追加して、window.locationからURLを取得することができます。

1

あなたはAJAXでコンテンツとURLを更新するために探していますか? HTML5ブラウザで提供される履歴APIを使用してください。

+0

まだHTML5をサポートしていないブラウザの場合は、代わりにURLハッシュを更新できます。 – timdream

+0

どうすればいいですか? – Skizit

+0

Skizit、私のリンクをチェックし、あなたにそれを行う方法を示しています! – benhowdle89

関連する問題