2009-12-10 3 views

ответ

0

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

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

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

8
<Spoilers> 

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

</Spoilers> 

Привет Тони,
Есть несколько шаблонов в Интернете, которые вы можете скачать построить расширение хрома проект с помощью Visual Studio.

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

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

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

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

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

Есть несколько шагов, и это не трудно построить расширение Chrome Google. This link will give you the complete tutorial on developing a chrome extension with detailed explanation. Этот учебник устанавливает шаблон, чтобы вы могли его развить в Visual Studio, как я уже упоминал ранее.

+0

это не связано с вашим ответом или вопросом, просто хочу спросить, что этот шаблон chrome, описанный в этой статье, работает только для VS2013/15. Я попытался установить этот шаблон на моей машине с ** только ** visual studio 2017, но он не работает? это расширение только для визуальной студии 2015? –

+0

Я сталкиваюсь с подобной ошибкой при установке шаблона расширения chrome на VS2017. Так что с моей точки зрения это расширение поддерживает только версии VS15, 13 и т. Д. https://stackoverflow.com/questions/41215916/vsixinstaller-noapplicableskusexception-this-extension-is-not-installable-on-an –

+5

вы случайно добавляете щедрость в вопрос? –

0

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

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

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

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

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

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

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

Так, просто уточнить, что я сделал здесь:

  1. Создать расширение хром с background.js открытия слушателя к JavaScript веб-сайта.

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

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

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

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

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

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