Подтвердить что ты не робот

Плагин С# для Google Chrome

Могу ли я общаться с Google Chrome на С#?

Для написания хром-плагина, например.

4b9b3361

Ответ 1

<Spoilers>

Быстрый короткий ответ: Нет, потому что для расширений требуются JSON, JavaScript и HTML.

</Spoilers>

Привет, Тони,
В Интернете есть несколько шаблонов, которые можно загрузить для создания проекта расширения chrome с помощью Visual Studio.

Загрузка одного из этих шаблонов дает вам файлы и папки, которые вам нужны, которые я называю "настройка".

Это не позволит вам строить расширение Google с помощью С#.

Андрей упомянул, что есть библиотеки вроде Bridge.NET, которые скомпилируют ваш код в HTML/JavaScript. Это поможет вам писать HTML и JavaScript с помощью С#. Вам все еще нужен файл manifest.json.

Я не рекомендую этого. Эта библиотека не предназначена для Chrome Extensions. Кроме того, вам придется скомпилировать код в JavaScript и сохранить этот код JavaScript в файле JavaScript. Я рекомендую использовать HTML/JavaScript без компиляторов при создании расширения Chrome.

Вам нужно иметь в виду, что в хромовом расширении есть 3 основные части. Это:
manifest.json
Файл JavaScript

HTML файл

Существует несколько этапов, и не сложно построить расширение Chrome. Эта ссылка предоставит вам полное руководство по разработке расширения chrome с подробным объяснением. В этом учебном руководстве установлен шаблон, чтобы вы могли его развить в Visual Studio как я уже упоминал ранее.

Ответ 2

То, что я сделал для адресации, - это использование Simple Message Host, оно вызовет исполняемый файл на локальном компьютере, который вы кодируете в С#, отправив stdin сообщения и прослушивая сообщения stdout, чтобы вы могли создать этот хост для использования как мост, но, как я уже сказал, он должен быть на вашем local network, по крайней мере, и вы должны сделать некоторое редактирование в windows registry, поэтому оно имеет свои ограничения.

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

Итак, просто для того, чтобы уточнить, что я здесь сделал:

  • Создайте расширение chrome с помощью background.js, чтобы открыть слушателя на веб-сайте javascript.

  • Добавить реестр в windows registry, указывающий на путь исполняемого файла.

  • Создайте исполняемый файл на С#, выполнив всю вашу логику.

  • Отправьте ответ от исполняемого файла на расширение, а затем обратно на веб-сайт.

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

Но на данный момент это лучший способ сделать то, что вы хотите, если у вас есть контроль над вашей средой.

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

Ответ 3

Тема довольно старая, но я хотел бы поделиться этим примером: https://github.com/Retyped/Demos/tree/master/ChromeDemo

В нескольких словах образец реализован на С#. Retyped.chrome Пакет NuGet предоставляет привязки (API Chrome) для Bridge.NET проекты. Итак, да, теперь вы можете реализовать свою логику в С#, тогда код С# будет прозрачно скомпилирован в JavaScript компилятором Bridge.NET.

С помощью этого подхода вы можете создать расширение Chrome поверх .NET Framework, а также использовать тысячи библиотек JavaScript.

Ответ 4

собственный менеджер расширений Chrome поддерживает расширения, написанные в js и html.

который сказал, чтобы выполнить код c# внутри расширения, у вас есть два варианта:

  • Скомпилируйте c# код javascript, который затем можно добавить в качестве обычного расширения javascript в chrome (посмотрите scriptsharp)
  • Используйте С# в качестве внутренней системы. как и большинство download managers:

для случая 2 вам нужно приложение С#, установленное на клиентском устройстве (или в облаке), перечисление на конкретный порт (используя httplistener или self hosted webapi (you can use netcore), которые выполняют следующие шаги

  • Список входящих запросов
  • данные запроса анализа, например. json и сделать что-то с ней
  • возвращает результат в расширение javascript, которое может отображать его пользователю или делать с ним другие вещи.