Сцепление “Открытого на новой вкладке” и “Назад”

Я хотел бы разработать Расширение Firefox, которое делает вещи, когда щелчок ссылки открывает новую вкладку как результат атрибутов ссылки, и также когда кнопка "Back" (или эквивалентный) нажимается.

Как я могу сцепить эти две вещи в расширении?

Обновление: я запустил щедрость - я надеюсь, что ответ может привести к некоторому скрытому сайту документации для Дополнений Firefox. Сайт, который не является кодовой базой Firefox, которая является. И не набор всех расширений, когда-либо записанных.

5
задан 18 December 2009 в 13:53
поделиться

2 ответа

Я попробую ответить и дать вам несколько треков, но учтите, что это может зависеть от номера вашей версии firefox (я знаю, что вы не ищете страницу MDC, и я знаю, что она не всегда хорошо документирована, но вот что я нашел).

  • Новая вкладка: вы должны добавить eventListener в какую-нибудь функцию инициализации и указать действие, которое вы хотите вызвать. Таким образом, вам не нужно беспокоиться о том, как новая вкладка называлась
  • Detect Back : (новая функция после Firefox 3.5) добавить слушатель прогресса на всех вкладках, чтобы обнаружить locationChange, а затем поиграть с "Местами" новой системы истории (после Firefox 3), чтобы сравнить и посмотреть, является ли новый URI таким же, как и предыдущий. Не забывайте, что вы можете вернуться с "Del" или "Alt "+"LeftArrow", так что на самом деле вы не можете повторно выполнить действие "Back Button" (иначе вы можете добавить оверлей XUL и переопределить то, что вам нужно, но я никогда не делал этого раньше)
2
ответ дан 14 December 2019 в 19:15
поделиться

Мне кажется, что вы хотите избежать использования слушателя прогресса, так как хотите иметь возможность реагировать на обратный ход, даже когда нет страницы, на которую можно вернуться.

Если это так, вы пробовали заменить новую вкладку каким-то временным URL?

Чтобы объяснить, что я имею в виду:

  1. Пользователь нажимает на открывающуюся новую вкладку на http://www.google.com
  2. Переадресация на http://cannotwork/?http://www.google.com
  3. Сохранить как местоположение
  4. По любому запросу на http://cannotwork/ отправить в дополненное местоположение

Просто вроде как выбрасывание идей здесь. Удачи.

Также есть аддон Back to Close для более ранних версий FF, который заменил кнопку возврата на close, когда вы были в "старте". Это может быть более приличной идеей. Единственная проблема заключалась в том, что он не мог поймать del/back на мыши. Поэтому он порекомендовал перепривязать кнопку мыши к Alt+Left (Который был пойман).

.
2
ответ дан 14 December 2019 в 19:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: