Получить URL для всех вкладок в браузере с помощью плагина OSX

Я хочу получить все открытые URL-адреса из браузеров, работающих на устройстве, без необходимости разработки расширений. Есть две причины, по которым я не хочу разрабатывать расширения. Во-первых, для Chrome пользователь должен перейти в магазин Chrome, чтобы установить расширение. Во-вторых, мне нужно написать расширение для всех установленных браузеров.

Итак, я начал с изучения Scripting Bridge, но оказалось, что он не работает для Chrome без сценариев GUI (для которых пользователи должны включать вспомогательные устройства).

Поэтому вместо этого я изучаю создание плагина. Дело в том, что плагины могут поддерживать только определенные типы mime. Как убедиться, что мой плагин вызывается с любой веб-страницы? Если не существует универсального типа пантомимы, который присутствует на всех веб-страницах, я не знаю, как решить эту проблему.

В любом случае, вы, ребята, думаете, что это лучший путь? Или есть другой способ получить URL-адреса всех открытых вкладок.


person omgpython    schedule 18.08.2013    source источник


Ответы (1)


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

Плагины не знают о браузере, только о странице, в которую они вставлены (или загружены для обработки, в случае плагина, который обрабатывает MIME-тип, такой как .pdf). см. http://npapi.com/extensions для получения дополнительной информации о возможностях подключаемого модуля и расширения.

Поскольку плагины знают только о странице, это означает, что они не могут узнать о других страницах в том же процессе браузера, включая вкладки. У них просто нет способа сделать это, и это сделано специально; Разработчики API не хотели, чтобы кто-либо мог иметь плагин, который обрабатывает тип мультимедиа, который мог бы каким-то образом привязываться к окну вашего банковского сайта на другой вкладке без вашего ведома. Конечно, некоторые фреймворки расширений могут позволить вам найти способ сделать это, но сам плагин не может.

person taxilian    schedule 18.08.2013
comment
Как вы думаете, как лучше всего подойти к этой проблеме? - person omgpython; 19.08.2013
comment
Я не знаю, по какой причине вы хотите это сделать; честно говоря, моя первая мысль, что вы не можете, и я рад, что вы не можете, потому что я не хотел бы, чтобы кто-то мог это сделать с чем-то, работающим на моем компьютере =] Самое близкое решение, которое я знаю, это то, что вы уже отклонено: написать расширение - person taxilian; 19.08.2013