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(...)
,它将“替换”当前页面而不创建其他历史记录条目。
确实...网页不允许摆弄用户历史是一件好事。 – Jan
@Jan:现在的问题是关于Firefox的扩展和他们做访问浏览历史。但即使在那里,它看起来并不像是有选择地删除条目是可能的,只有添加或替换最后条目的方法可用。 –
嘿家伙!感谢回复!它不是为我工作:(这是我使用'window.content.location.replace = // URL here' – Ryan