Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firefox后退按钮未按预期工作:显示javascript而不是html_Javascript_Firefox_Browser History_History.js - Fatal编程技术网

Firefox后退按钮未按预期工作:显示javascript而不是html

Firefox后退按钮未按预期工作:显示javascript而不是html,javascript,firefox,browser-history,history.js,Javascript,Firefox,Browser History,History.js,我正在使用History.js使我的ajax页面成为可书签页面,并获得预期的后退/前进浏览器按钮体验。在Safari中,一切都很好,但在Firefox 6中,如果我离开我的站点,然后使用hte back按钮返回,我会得到javascript而不是页面: 访问mysite.com/user/1/post_board 点击post filter,地址更改为mysite.com/user/1/post_board?filter=1 在地址栏中输入google.com 按后退按钮 我看到在第2步加载了j

我正在使用History.js使我的ajax页面成为可书签页面,并获得预期的后退/前进浏览器按钮体验。在Safari中,一切都很好,但在Firefox 6中,如果我离开我的站点,然后使用hte back按钮返回,我会得到javascript而不是页面:

  • 访问mysite.com/user/1/post_board
  • 点击post filter,地址更改为mysite.com/user/1/post_board?filter=1
  • 在地址栏中输入google.com
  • 按后退按钮
  • 我看到在第2步加载了javascript
  • 怎么回事?我做错了什么

    代码如下:

    //  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);
    }
    
    谢谢您的帮助。

    只需添加:

    window.onunload=函数(){}

    这就是我得到答案的地方:


    :/url
    mysite.com/user/1/post\u board?filter=one
    是否总是返回HTML?或者它有时会返回JavaScript?@Shef:我愿意接受关于如何处理历史管理的建议。使用eval允许相当大的灵活性,但我对Javascript完全是新手:这是解决问题的最糟糕的解决方案,它会降低浏览器性能。请参阅其他选项。感谢您指出这一点,但即使在阅读了您指出的问题后,我也看不到任何其他选项。你能给我指一下正确的方向吗?谢谢