Расширение ссылки расширения Firefox - PullRequest
0 голосов
/ 21 декабря 2010

Я хочу создать расширение в Firefox, которое будет извлекать ссылки, встроенные в веб-страницу, от пользователей, перемещающих мышь по ссылке. Это было бы очень похоже на отображение целевой ссылки в строке состояния в нижней части браузера.

У меня проблема с доступом к объекту документа загруженной веб-страницы. Я пытался document.getElementsByTag("a"), это не сработало. Я пытался content.document.getElementByTag("a"), это не сработало.

В идеале я хочу, чтобы он вел себя так:

  1. веб-страница загружена.
  2. всем якорям на веб-странице назначен атрибут onmouseover.
  3. пользователь указывает на ссылку.
  4. событие инициируется, а URL ссылки извлекается и отображается в окне предупреждения.

Ответы [ 2 ]

1 голос
/ 22 декабря 2010

Несколько вещей:

  1. Для скрипта, вставленного в оверлей браузера, document - это документ браузера, а не веб-страница, поэтому вам нужно content.document.
  2. Функция getElementsByTagName.Используйте консоль ошибок - она ​​должна сообщать вам, что getElementsByTag не является функцией.
  3. Вы также можете просто использовать content.document.links
  4. Возможно, было бы проще просто добавить прослушиватель событий ввесь документ, когда он загружается, а затем в слушателе событий, просто сделайте if (event.target instanceof HTMLAnchorElement) или что-то еще, чтобы увидеть, является ли это ссылкой.
  5. В любом случае вы должны удалить прослушиватели событий, когдас ними (т.е. на событии unload страницы).
0 голосов
/ 21 декабря 2010

Прочитайте учебник .Не забудьте изменить maxVersion в install.rdf (в LinkTargetFinder.xpi)

В linkTargetFinder.js в функции run () вы можете увидеть, как найти ссылки:

... allLinks= content.document.getElementsByTagName ("a") ...

...