Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   ПОМОГИТЕ!!! Где храниться новый адрес? (https://javascript.ru/forum/css-html-firefox-mizilla/18151-pomogite-gde-khranitsya-novyjj-adres.html)

Mad LIR 19.06.2011 17:25

ПОМОГИТЕ!!! Где храниться новый адрес?
 
Подскажите пожалуйста, кто знает.

Делаю плагин под FF и стоит задача сделать определенные действия перед переходом на новую ссылку.
Т.е. если переходим на новую ссылку, останавливаемся
window.stop();
анализирует строку куда идем
???? - вот тут проблема

Где храниться новый url?

Помогите!!!

Mad LIR 30.06.2011 16:52

При переходе по новой ссылке и перехвате события onunload в document.location - но там храниться текущий адрес.

Мне же нужно как-то узнать куда идет слон :). В каком параметре можно увидеть адрес, по которому браузер собирается переходить.

melky 30.06.2011 17:41

один выход - смотреть на MDN или гуглить

раз никто не отвечает :)

Gozar 30.06.2011 19:29

Я вряд ли понял последовательность описания, но во первых наверное должно существовать событие по инициализации которого происходит переход, например click, а раз оно есть, то можно получить target, а если можно получить target, то уж из него можно легко получить href. Только при этом нужно отменить переход на сслыке return false; а после каких-то работ сделать переход.

Да кстати получить откуда пришли и текущую страницу намного проще, если вы конечно действительно делаете плагин под FF

Mad LIR 01.07.2011 18:50

Спасибо за совет. Че-то я про таргет совсем забыл. Попробую.

Смысл в том, что на сайте есть обноковенный a href (и не один). Нужно при клике на них сразу никуда не идти, а стать на месте и проанализировать новы урл. Вот тут и фишка.
window.gBrowser.mCurrentTab.linkedBrowser.currentU RI - здесь текущий адрес.
И вот я уже пару дней гуглю, пытаясь найти новый.
Надеюсь таргет меня спасёт!

Mad LIR 01.07.2011 19:13

Для будущих поколений:
Таргет не спас (там есть только текущий адресс), буду разбирать event на детали.

Gozar 01.07.2011 19:29

Как это не спас? Ты что-то путаешь, нет там никакого текущего адреса, нужно просто получить href из <a> по клику.
<a href="http://ro.ru/go.html" onclick="alert(this.href);return false;">link</a>

сечешь? только тебе чуть сложнее.

Vulkan 01.07.2011 19:30

Цитата:

Сообщение от Mad LIR (Сообщение 111411)
Для будущих поколений:
Таргет не спас (там есть только текущий адресс), буду разбирать event на детали.

Какой текущий адрес?
<script type="text/javascript">
window.onload = function() {
    var links = document.getElementsByTagName('a'),
         i = links.length;
    
     while(i--) {
         links[i].onclick = function (e) {
             alert('Новый адрес - ' + e.target.href);
             return false;
         }
     }
}
</script>

<a href="http://test.ru/link1">one</a>
<a href="http://test.ru/link2">two</a>
<a href="http://test.ru/link3">three</a>

Gozar 01.07.2011 19:34

Vulkan,
Ну вот, всю тему запалил, теперь своей головой думать не будет.

А теперь усложняем :)
<script type="text/javascript">
window.onload = function() {
    var links = document.getElementsByTagName('a'),
         i = links.length;
    
     while(i--) {
         links[i].onclick = function (e) {
             alert('Новый адрес - ' + e.target.href);
             return false;
         }
     }
}
</script>

<a href="http://test.ru/link1" onclick="document.location.href='link10'">one</a>
<a href="http://test.ru/link2" onclick="document.location.href='link10'">two</a>
<a href="http://test.ru/link3" onclick="document.location.href='link10'">three</a>


^^

Vulkan 01.07.2011 19:41

Цитата:

Сообщение от Gozar (Сообщение 111416)
Vulkan,
Ну вот, всю тему запалил, теперь своей головой думать не будет.

А теперь усложняем :)

:)


Часовой пояс GMT +3, время: 21:20.