Javascript,删除历史记录中的最后一项(firefox addon)

时间:2011-06-28 12:00:46

标签: javascript firefox firefox-addon history

我有一个Firefox插件,首先显示一个警告/信息页面,告诉用户他们被重定向(chrome://localfilter/content/wait_page.html)然后将它们重定向到目的地。

一切都很好。

唯一的事情就是当他们按下后退按钮他们看到“等待页面”时,无论如何从历史记录中删除该等待页面并保留其他所有内容? 或者,如果这是不可能的,请用另一个可能只有徽标的页面替换该等待页面(因为如果他们读到它们会被重定向并且没有任何反应......)

编辑:

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


            }

1 个答案:

答案 0 :(得分:7)

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