Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.02.2014, 12:15
Новичок на форуме
Отправить личное сообщение для mahishi Посмотреть профиль Найти все сообщения от mahishi
 
Регистрация: 03.02.2014
Сообщений: 3

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

Подскажите как можно реализовать выполнение скрипта после каждого перехода?
Ответить с цитированием
  #2 (permalink)  
Старый 04.02.2014, 12:29
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

mahishi,

попробуй так:
при загрузке страницы
1) подписывайся на событие "popstate" для window той страницы.
2) переопределяй history.pushState:
(function () {
    var win = ... // окно страницы
    var oldPS = win.history.pushState;
    win.history.pushState = function() {
        oldPS.apply(this, arguments);
        // тут твои действия. Урл поменялся, скоро на странице тоже что-то поменяется.
    };
})();
Ответить с цитированием
  #3 (permalink)  
Старый 04.02.2014, 12:32
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Суть шаманства: VK использует html5 history для смены урлов без перезагрузки страницы, и надо как-то к этому делу "присовокупиться".
Ответить с цитированием
  #4 (permalink)  
Старый 04.02.2014, 14:11
Аватар для Cuntmann
Аспирант
Отправить личное сообщение для Cuntmann Посмотреть профиль Найти все сообщения от Cuntmann
 
Регистрация: 26.01.2014
Сообщений: 78

социальные сети - зло
Ответить с цитированием
  #5 (permalink)  
Старый 04.02.2014, 18:54
Новичок на форуме
Отправить личное сообщение для mahishi Посмотреть профиль Найти все сообщения от mahishi
 
Регистрация: 03.02.2014
Сообщений: 3

Сообщение от Яростный Меч Посмотреть сообщение
mahishi,

попробуй так:
при загрузке страницы
1) подписывайся на событие "popstate" для window той страницы.
2) переопределяй history.pushState:
(function () {
    var win = ... // окно страницы
    var oldPS = win.history.pushState;
    win.history.pushState = function() {
        oldPS.apply(this, arguments);
        // тут твои действия. Урл поменялся, скоро на странице тоже что-то поменяется.
    };
})();
Не работает
Ответить с цитированием
  #6 (permalink)  
Старый 04.02.2014, 20:14
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

mahishi, вам нужно найти какой объект отвечает за переход между страницами и либо переопредилить метод или в каком объекте есть обработчик события перехода.
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блокировка запуска скрипта при повторном нажатии если скрипт досих пор выполняется BesTime jQuery 4 20.12.2013 17:24
Как сохранять состояние между страницами hopest Angular.js 3 29.10.2013 13:15
Скрипт для изменения фона и шапки при переходе на страницу Серега187 Элементы интерфейса 12 09.10.2013 16:39
Выполнение скрипта при нажатии Entet в текстовм поле Vlasssov Общие вопросы Javascript 4 23.08.2009 23:31
Переход между окнами ввода при заполнении. Бушка Общие вопросы Javascript 4 25.03.2009 15:40