Проблемы с регистрацией слушателя события щелчка на элементе frame - PullRequest
1 голос
/ 22 марта 2010

Я столкнулся с проблемой при добавлении прослушивателя событий.Я написал плагин Firefox некоторое время назад для моей дипломной работы.Он был основан на другой модели атакующего, чем вы обычно ожидаете.В этом сценарии злоумышленником был поставщик услуг (например, Facebook, Google, ...), который считывает все ваши личные данные, хранящиеся на их сайте (через JS).

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

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

Я уже попробовал.frameElement.К сожалению, кажется, что Firefox не любит мой (или, что более вероятно, я слишком тупой :)) и утверждает, что нет никаких кадров ...

Может кто-нибудь сказать мне, как добавить событиеслушатель документа внутри фрейма?Веб-сайт выглядит следующим образом:

<html>
<head>
<title>Frameset Test</title>
</head>
<frameset cols="150,*">
  <frame src="nav.html" name="Navigation">
  <frame src="main.html" name="Main">
</frameset>
</html>

Это был мой первый крупный проект с Mozilla, так что это может быть моей глупой неудачей ... Надеюсь, вы, ребята, сможете мне помочь.Заранее спасибо.

Себастьян

1 Ответ

0 голосов
/ 14 мая 2010

Если у вас есть ссылка на родительское окно, вы можете попробовать это:

var frames = window.frames; 
for (var i = 0; i < frames.length; i++) { 
  // frames[i] is the window object inside the frame i
}

Подробнее здесь: https://developer.mozilla.org/en/DOM/window.frames

...