Javascript, удалите последний элемент в истории (аддон Firefox) - PullRequest
0 голосов
/ 28 июня 2011

У меня есть аддон Firefox, который сначала отображает страницу с предупреждением / информацией, сообщающую пользователю, что они перенаправлены (chrome: //localfilter/content/wait_page.html), а затем перенаправляет их к месту назначения.

Все отлично работает.

Единственное, когда / если они нажимают кнопку возврата, они видят эту «страницу ожидания», есть ли в любом случае удалить эту страницу ожидания из истории и оставить все остальное как есть? Или, если это невозможно, замените эту страницу ожидания другой страницей, которая, возможно, имеет только логотип (потому что, если они читают, они перенаправляются и ничего не происходит ...)

EDIT:

// 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 Ответ

7 голосов
/ 28 июня 2011

Полагаю, что лучшим решением будет не удалить страницу из истории, а, скорее, не добавлять ее в первую очередь.Когда вы «перенаправляете» на целевую страницу, вы, вероятно, используете window.location.href = ... или что-то подобное.Вместо этого вы должны использовать window.location.replace(...), который «заменит» текущую страницу без создания дополнительной записи в истории.

...