動的コンテンツのあるサイトで作業しています。
記事をクリックすると、プッシュ状態を使用してアドレスに変更されます。
例:
http://www.some-site.com/news/-ニュースアイテムをクリックする前に
http://www.some-site.com/news/dynamic-url/-ニュースアイテムをクリックした後
ただし、pushstateはIEまたは古いブラウザーでは機能しないため、jQuery.addressを使用するように書き直して、IEのみの代わりにURLのハッシュを変更します。
ここでの問題は、誰かがChromeからコピーした友人にサイトへのリンクを送信し、友人がIEを使用している場合、そのURLに新しいhasを追加し始めるということです。
例:
http://www.some-site.com/news/dynamic-url/-友達に送信されたURL
http://www.some-site.com/news/dynamic-url/#!/dynamic-url-友人がサイトにアクセスした後のURL
だから、私はそれらを書き換え/リダイレクトする方法に固執しています。として、ハッシュがApacheに送信されることはありません。私はツイッターで見ました、彼らは私が望むことを正確に行います、しかし私はその方法を理解することができません。
https://twitter.com/#!/googleはhttps://twitter.com/googleにリダイレクトされ、IEで機能します。
どんな助けでも大歓迎です、そしてあなたが理解しないならば、私に詳しく説明するように頼んでください。
David Thomasが提案したように、ここに関数があります。
var permalink = function(title, id, permalink){
var current = siteUrl + type + (order ? '/orderBy/' + order : '');
var newUrl = current + '/' + permalink + '/';
if(jQuery.browser.msie){
newUrl = '/' + permalink + '/';
jQuery.address.value(newUrl);
}
else{
stateNum++;
window.history.pushState({state: stateNum}, title, newUrl);
}
jQuery('title').html('SITE - ' + title);
}