@best_kot3

Перестаёт отслеживать клавиши после обновления фрейма?

spoiler
top.frames['main'].onkeydown = function(e) {
			if (active==1)
			{
				e = e || window.event;
				if(e.keyCode==data.key_hil_cmp && e.altKey==true)
				{
					//тут действия
				}else if (e.keyCode==data.key_boy_cmp && e.altKey==true)
				{
						//тут действия
				}else if (e.keyCode==data.key_hp && e.altKey==true)
				{
						//тут действия
				}else if (e.keyCode==data.key_wp && e.altKey==true)
				{
						//тут действия
				}else if (e.keyCode==data.key_all && e.altKey==true)
				{
						//тут действия
				}
			}
			  ///////////////
		}


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

UPD: Подходящего решения так и не нашёл, все решения срабатывают 1 раз при загрузке, выход был один добавлять проверку в интервал, использовал location т.к. фреймы на сайте подгружаются методом location.href и нету свойства scr а там можно было через него, ну и следовательно searsh т.к. у фрейма после адреса идёт время загрузки и поэтому даже если фрейм просто обновится то время изменится и он запустит нужный код. Так же можно использовать MutationObserver внутри функции которая вызывается интревалом.
spoiler
setInterval(refresh,500);
var set;
function refresh(){
	if (set!=top.frames['main'].location.search)
	{
		set=top.frames['main'].location.search;
		///ну и тут код
	}
	
}

  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы