Firefox后退按钮无法正常工作:显示的是javascript而不是html

时间:2011-09-11 07:28:40

标签: javascript firefox browser-history history.js

我正在使用History.js使我的ajax页面可收藏,并具有预期的后退/前进浏览器按钮体验。在Safari中一切都很好但在Firefox 6中如果我离开我的网站然后使用后退按钮返回我得到的是javascript而不是页面:

  1. 转到mysite.com/user/1/post_board
  2. 点击发布过滤器,地址更改为mysite.com/user/1/post_board?filter=one
  3. 在地址栏中输入google.com
  4. 按后退按钮
  5. 我看到第2步加载的javascript
  6. 发生什么事了?我做错了什么?

    以下是代码:

    //  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);
    }
    

    感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

只需添加:

window.onunload = function(){};

这是我得到答案的地方:

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