Полезная информация

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

№104-12-2011 20:24:47

KML
Участник
 
Группа: Extensions
Откуда: Днепропетровск
Зарегистрирован: 01-06-2005
Сообщений: 422
UA: Firefox 8.0

Не дать пользователю сменить текущую страницу

Расширение открывает страницу, на которой есть контент включая кнопки с действиями

  • document.location = URL;
  • window.location = URL;
  • document.location.href = URL ;

Неоходимо предотвратить смену страницы, при нажатии на эти кнопки.

Пробовал отловить через nsIWebProgressListener.onLocationChange() и потом gBrowser.stop(), но данный метод не подходит, т.к. броузер со старой страницы уходит, я его останавливаю, и в результате получается пустая страница.

Пробовал отловить через addObserver(this,"http-on-modify-request",false). Проблема в том, что сюда валятся все реквесты и понять какой из них тот что нужно блокировать непонятно.


:::: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0

Отсутствует

 

№204-12-2011 20:27:59

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 9.0

Re: Не дать пользователю сменить текущую страницу

KML
Не проще ли будет пройтись по контенту, найти эти кнопки, и задизейблить их?

Отсутствует

 

№304-12-2011 20:44:49

KML
Участник
 
Группа: Extensions
Откуда: Днепропетровск
Зарегистрирован: 01-06-2005
Сообщений: 422
UA: Firefox 8.0

Re: Не дать пользователю сменить текущую страницу

Нет, мне нужно в случае чего открыть эти ссылки в соседней вкладке.


:::: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0

Отсутствует

 

№404-12-2011 21:18:09

KML
Участник
 
Группа: Extensions
Откуда: Днепропетровск
Зарегистрирован: 01-06-2005
Сообщений: 422
UA: Firefox 8.0

Re: Не дать пользователю сменить текущую страницу

okkamas_knife пишет
KML пишет

Нет, мне нужно в случае чего открыть эти ссылки в соседней вкладке.

ну дык кто мешает

hydrolizer пишет

Не проще ли будет пройтись по контенту, найти эти кнопки, и задизейблить их?

+ добавить рядом ссылочку.

Мешает то что это Javascript функции, так что простыми ссылочками не отделаешься.


:::: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0

Отсутствует

 

№505-12-2011 01:20:02

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508
UA: Nightly 11.0

Re: Не дать пользователю сменить текущую страницу

Почему? Они же создают HTML-элементы.

Отсутствует

 

№605-12-2011 15:48:33

KML
Участник
 
Группа: Extensions
Откуда: Днепропетровск
Зарегистрирован: 01-06-2005
Сообщений: 422
UA: Firefox 8.0

Re: Не дать пользователю сменить текущую страницу

Al_H пишет

Почему? Они же создают HTML-элементы.

Функции? Теоретически они могут делать всё что угодно, парсить тело функции в мои планы не входит :)


:::: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0

Отсутствует

 

№706-12-2011 11:27:27

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 8.0

Re: Не дать пользователю сменить текущую страницу

KML пишет

Функции? Теоретически они могут делать всё что угодно, парсить тело функции в мои планы не входит :)

а определить (переопределить) onclick для кнопок?

Отсутствует

 

№806-12-2011 11:40:00

KML
Участник
 
Группа: Extensions
Откуда: Днепропетровск
Зарегистрирован: 01-06-2005
Сообщений: 422
UA: Firefox 8.0

Re: Не дать пользователю сменить текущую страницу

Shutnik пишет
KML пишет

Функции? Теоретически они могут делать всё что угодно, парсить тело функции в мои планы не входит :)

а определить (переопределить) onclick для кнопок?

Допустим переопределил, и что дальше? Парсить тело функции на предмет смены location? А остальной код этой функции кто выполнять будет?
Просто налицо явный просчет в API мозилы - сообщать в процессе смены location а не перед началом процесса.


:::: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]