Пользовательский скрипт Google Chrome против расширения?

Я рассматриваю различные варианты, которые могут мне помочь улучшить работу в Интернете. Я нашел множество пользовательских скриптов, доступных на userscripts.org. Но я также читал о расширениях Google Chrome (которые очень похожи на пользовательские скрипты).

Мне интересно, есть ли какие-либо преимущества в использовании пользовательского скрипта по сравнению с расширением? Единственное, с чем я не могу работать, - это использовать любой из эти методы для внедрения скриптов в DOM, чтобы мой код javascript мог обращаться к методам javascript страниц. Он отлично работает как установка с одним пользовательским скриптом, но когда я попытался преобразовать этот пользовательский скрипт в расширение, это не сработало. Хотя я не был уверен, что я сделал что-то не так, или это вообще не может работать.

Основная причина, по которой я спрашиваю, заключается в том, что после того, как я начал работать над своим собственным пользовательским скриптом, я столкнулся с проблемой, что файл скрипта стал очень большим и повторяющимся для других скриптов. Chrome не поддерживает параметр «@require», поэтому я не могу организовать свой «общий» код таким образом, что заставляет меня думать, что вместо этого я должен искать расширения.

Итак, можно ли использовать «Внедрение сценария» или «Взлом местоположения» в расширении, чтобы мой javascript мог выполняться в DOM и получать доступ к другому javascript?


person myermian    schedule 04.06.2012    source источник


Ответы (2)


Чтобы ответить на ваш первый вопрос: UserScripts - это отдельные файлы, которые не могут запрашивать доступ к API Chrome, такие как закладки, междоменный XMLHttpRequest и т. Д. Расширения Chrome - это несколько заархивированных файлов, которые не имеют этих ограничений.

Что касается вашего второго вопроса, я предлагаю вам прочитать Как Могу ли я имитировать функциональность unsafeWindow Greasemonkey / Firefox в Chrome?.

person user2428118    schedule 04.06.2012

См. Здесь объяснение «изолированного мира» для сценария содержимого расширения Chrome. Вы можете получить доступ к DOM веб-сайтов, но не к переменным / функциям в другом скрипте ...

http://code.google.com/chrome/extensions/content_scripts.html#execution-environment

person user1434045    schedule 04.06.2012