2011-09-11 11 views
1

History.jsを使用して、自分のajaxページをブックマークできるようにし、期待される前後のブラウザボタンの経験を持っています。サファリでは、すべてが素晴らしい作品が、私は自分のサイトを離れ、その後、ボタンを敬遠しがちに戻って使用して戻った場合のFirefox 6に私の代わりにページのJavaScriptを取得:Firefoxのバックボタンが正常に動作しない:JavaScriptの代わりにjavacが表示される

  1. をmysite.com/user/1/post_boardに行きます私はJavaScriptをステップ2でロードされた参照アドレスバー
  2. プッシュバックボタン
  3. でgoogle.comを入力
  4. をmysite.com/user/1/post_board?filter=oneするポストフィルタの
  5. クリックし、アドレスの変更

何が起こっていますか?私が間違っていることは何ですか?ここで

は、コードは次のとおりです。任意のヘルプ

// Bind to StateChange Event 
    History.Adapter.bind(window,'statechange',function(e) 
    { 
     var state = History.getState(); 
     eval(state.data.function_rest + "("+JSON.stringify(state)+");");   
     History.log(state); 
    }); 


$('.message_filter').bind('click', function() 
    { 
     History.pushState({"function_rest":"restore_post_board_widget"}, document.title, this.href); 
     return false 
    }); 

function restore_post_board_widget(state) 
{ 
    $.getScript(state.url); 
} 

感謝。

+0

[未評価の別の使用](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/eval#Don」:私は答えを得たところ

この

ですt_use_eval!)。 :/ – Shef

+0

URL「mysite.com/user/1/post_board?filter = one」は常にHTMLを返しますか?それともJavaScriptを返すことがありますか? –

+0

@Shef:私は履歴管理をどのように扱うべきかについての提案を受けています。 evalを使用するとかなりの柔軟性が得られますが、私は再びJavascriptの初心者です:http://stackoverflow.com/questions/7340906/whats-the-commuced-way-to-rebuild-a-page-from-the-ブラウザ履歴の履歴-j –

答えて

1

ちょうど追加:

window.onunload = function(){};

After travelling back in Firefox history, JavaScript won't run

+0

これはあなたの問題に対する最悪の解決策です。ブラウザのパフォーマンスが低下します。その他のオプションについては、http://stackoverflow.com/questions/7194095/differences-between-chrome-and-firefox-reloading-a-page-running-a-javascript-gam/7200707#7200707を参照してください。 –

+0

それを指摘してくれてありがとうが、あなたが指摘した質問を読んだ後でさえ、私は他の選択肢は見当たりません。あなたは正しい方向に私を向けることができますか?ありがとう。 –

関連する問題