JavaScript,以便在历史记录中删除的最后一个项目(火狐插件)

问题描述:

我首先会显示警告/信息页面,告诉他们被重定向用户一个Firefox插件(铬://localfilter/content/wait_page.html),然后重定向他们到他们的目的地。JavaScript,以便在历史记录中删除的最后一个项目(火狐插件)

一切都很好。

的唯一的事情是,当/如果他们按后退按钮他们看到“等待页面”,反正是有从历史记录中删除只是等待页面,并留下一切的是什么? 或者,如果这是不可能的,也许刚刚标志另一个页面替换等待页面(因为如果他们读之后就被重定向并没有任何反应......)

编辑:

// function to see if the banned URL is on the list, then redirect 
... 
window.stop(); // Totally stop the page from loading. 

          window.content.location.href = "chrome://quickfilter/content/wait_page.html"; 



          this.notificationBox(); 
          self.timervar = setTimeout(function() 
          { 
           self.main.redirectToAnotherUrl(); 
          }, 2505); 

... 


redirectToAnotherUrl: function() 
      { 


       window.content.location.href = self.mafiaafireFilterUrl; 
       self.timervar = setTimeout(function() 
          { 
           self.main.notificationBox(); 
          }, 2005); 


      } 

改变与替换:

redirectToAnotherUrl: function() 
      { 


       window.content.location.replace(self.mafiaafireFilterUrl); 
       self.timervar = setTimeout(function() 
          { 
           self.main.notificationBox(); 
          }, 2005); 


      } 

我想最好的解决办法是不从历史记录中删除页面,而不是将其添加在第一位。当你“重定向”到目标页面时,你可能使用window.location.href = ...或类似的东西。相反,您应该使用window.location.replace(...),它将“替换”当前页面而不创建其他历史记录条目。

+1

确实...网页不允许摆弄用户历史是一件好事。 – Jan

+1

@Jan:现在的问题是关于Firefox的扩展和他们做访问浏览历史。但即使在那里,它看起来并不像是有选择地删除条目是可能的,只有添加或替换最后条目的方法可用。 –

+0

嘿家伙!感谢回复!它不是为我工作:(这是我使用'window.content.location.replace = // URL here' – Ryan