#javascript #html #firefox-addon #firefox-addon-sdk #steam
#javascript #HTML #firefox-дополнение #firefox-addon-sdk #Steam
Вопрос:
В настоящее время я пытаюсь разработать небольшое расширение для Firefox.
Подробнее: я хочу отображать пользователей с сайта dota2lounge.com текущий приз их товаров steam на рынке сообщества steam. Моя идея заключалась в том, чтобы сделать это с помощью расширения Firefox, которое считывает имена элементов из HTML-кода на dota2lounge.com . С помощью JS я хотел бы выполнить поиск в steam community market по названиям предметов и проанализировать текущий приз. Это должно произойти без каких-либо дальнейших действий со стороны пользователя и без открытия дополнительных вкладок / окон.
На Java я бы просто загрузил сайт в переменную и работал с ней. Как я мог бы сделать это с помощью JS (или Jquery)? Или, может быть, есть еще лучший способ в addon-sdk от firefox, который мог бы решить эту проблему.
Любые мысли и подсказки приветствуются.
Комментарии:
1. Я почти уверен, что межсайтовое предотвращение не позволяет получать доступ к иностранным доменам из JavaScript. Просто попробуйте загрузить URL-адрес с помощью XMLHttpRequest и убедитесь сами.
2. Я бы проверил csgolounge.com возьмите исходный код и проверьте, как они это делают. Также нашел эту библиотеку (с которой я надеялся когда-нибудь поиграть) github.com/eknowles/node-steam-tradeoffers
3. @ChristopherMarshall вы не можете использовать код nodejs в расширении.
4. К вашему сведению, в расширении Firefox вы можете выполнять межсайтовые запросы: developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/request
5. И я почти уверен, что вы также можете запускать код nodejs с помощью browserify .
Ответ №1:
Это должно быть довольно просто сделать с помощью дополнительного SDK. Вот список модулей, на которые вам следует обратить внимание:
-
модуль запроса позволит вам отправлять запросы на другие сайты: https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/request
-
хотя модуль запроса работает нормально, вместо этого вы можете захотеть получить информацию с сайта steam, используя модуль page-worker для загрузки сайта и простого извлечения из него информации с помощью jQuery. Это намного приятнее, чем использование регулярных выражений. Суть кода будет выглядеть примерно так:
Комментарии:
1. Я думаю, что второй подход подходит здесь лучше всего. Позвольте мне посмотреть, правильно ли я понимаю это: в моем дополнительном скрипте я могу собирать конкретные данные с текущего сайта. Теперь я могу вызвать сценарий содержимого, в данном случае мой рабочий, с собранными данными. Рабочий отправит запрос в steam community market, соберет нужную информацию и отправит сообщение моему Дополнительному скрипту через модуль порта. Правильно ли это?
2. Я так думаю, да. Думайте о worker как о невидимом браузере, который вы можете загружать, вводить скрипт и собирать информацию.
3. Спасибо. я попытаюсь прочитать свой путь через page-worker и некоторые другие вещи в руководствах разработчиков Firefox, поскольку я совершенно новичок в этой среде.