小编典典

检测URL中的后退按钮/哈希值更改

javascript

我只是在ritter.vg上设置了新主页。我正在使用jQuery,但是使用的次数很少。
它使用AJAX加载所有页面-我将其设置为通过检测URL中的哈希来允许添加书签。

 //general functions
 function getUrl(u) {
      return u + '.html';
 }
 function loadURL(u)    {
      $.get(getUrl(u), function(r){
                $('#main').html(r);
           }
      );
 }
 //allows bookmarking
 var hash = new String(document.location).indexOf("#");
 if(hash > 0)
 {
      page = new String(document.location).substring(hash + 1);
      if(page.length > 1)
        loadURL(page);
      else
        loadURL('news');
 }
 else
      loadURL('news');

但是我无法使前进和后退按钮起作用。

有没有一种方法可以在不使用setInterval循环的情况下检测何时按下后退按钮(或检测哈希值何时变化)?当我尝试使用.2和1秒的超时时,它挂住了我的CPU。


阅读 328

收藏
2020-05-01

共1个答案

小编典典

请改用jQuery hashchange事件插件。关于您的完整Ajax导航,请尝试使用SEO友好的Ajax。否则,您的页面在具有JavaScript限制的浏览器中什么也不会显示。

2020-05-01