2011-10-24 4 views
0

に働いていない(歴史がここで見つけることができます:https://github.com/browserstate/History.js/blob/master/README.mdJavascript- history.pushState()私は現在を保存するためにHistory.jsを使用してIE

今では、Internet Explorer以外のすべてのブラウザで動作します。私はIE9で動作するかどうかわかりません。 とにかく、私のURLは次のようになります:http://rlb.local/?bereich=3 しかし、IEでは次のようになります。http://rlb.local/#http%3A//rlb.local?bereich=3 Internet ExplorerがそのURLを奇妙に表示している理由はわかりません。

URLをpushStateメソッドに次のように渡します。 History.pushState(null、null、 "?bereich = 3");

誰かが私にヒントをくれますか?

おかげで、よろしく、

enne

EDITは:

function scrollingFunction(page, speedVar){ 
$.scrollTo({top: 0 , left: getPosition(page)} , speedVar, { axis:'xy', easing: 'easeInOut'}); 
$('.mainNav').removeClass("active"); 
$('#navLink_'+page).addClass("active"); 
History.pushState(null,null,"?bereich="+page); 

}

機能が異なるページ間をスクロールするために使用されます。ここでは、これを使用する関数です。変数 "page"は、 "1"、 "2"、 "3"などの現在のページ番号です。2番目のパラメータをStringとして試しましたが、これはeiterでは機能しません。

+0

Pls、コードの関連部分を投稿してください。そうでなければ、怪物がそこに進んでいるかどうかわかりません。 – bennedich

+0

2番目のパラメータは文字列ではありません(ライブラリのドキュメントではnullと言うことがわかりますが、それらは非常に不足していて、場所が不正確であり、ほとんどの場合役に立ちません)。 nullの代わりに空文字列を使ってみてください: 'History.pushState(null、 ''、 'blah')' – davin

+0

@davin、それは必要ありません。ヒストリーソースを見ると、彼らはこの方法で自分自身を使います。 – bennedich

答えて

2

IE9はHTML5履歴APIをサポートしていません。したがって、History.jsはURLのハッシュ部分を使用してそれをエミュレートします。

なぜあなたのURLがhttp://rlb.local/#?bereich=3ではないのだろうと思っているのであれば、そこには考えられません。これは、History.jsがウェブサイトに従って最短のURLを使用しようとすると、自動的に動作するはずです。たぶんあなたの ".local"ドメインと関係があります。

+0

これが答えです。私は.localドメインでした。しかし、それがうまくいくかどうか、私は思う。ドメインとしての.com私は試してみるよ。助けてくれてありがとう :) – enne87

関連する問題