2009-12-10 38 views

Trả lời

0

Các chủ đề khá cũ, nhưng tôi muốn chia sẻ mẫu: https://github.com/Retyped/Demos/tree/master/ChromeDemo

Trong một vài từ, mẫu được thực hiện trong C#. Gói Retyped.chrome NuGet cung cấp các ràng buộc (API Chrome) cho Bridge.NET projects. Vì vậy, có, bây giờ bạn có thể thực hiện logic của bạn trong C#, sau đó mã C# sẽ được biên dịch một cách minh bạch vào JavaScript bằng trình biên dịch Bridge.NET.

Với cách tiếp cận đó, bạn có thể tạo tiện ích mở rộng của Chrome ở trên cùng của .NET Framework cũng như sử dụng thousands of JavaScript libraries.

8
<Spoilers> 

Trả lời ngắn gọn: Không, vì Tiện ích yêu cầu JSON, JavaScript và HTML.

</Spoilers> 

Hi Tony,
Có nhiều mẫu trên internet mà bạn có thể tải về để xây dựng một dự án mở rộng chrome sử dụng Visual Studio.

Tải xuống một trong các mẫu này chỉ cung cấp cho bạn các tệp và thư mục mà bạn cần mà tôi gọi là "thiết lập".

Điều đó sẽ không cho phép bạn tạo tiện ích Google bằng C#.

Andrey đã đề cập rằng có các thư viện như Bridge.NET sẽ biên dịch mã của bạn thành HTML/JavaScript. Điều đó sẽ giúp bạn viết HTML và JavaScript bằng C#. Bạn vẫn cần tệp manifest.json.

Tôi không khuyến khích điều đó. Thư viện đó không được thiết kế cho Tiện ích mở rộng của Chrome. Ngoài ra, bạn sẽ phải biên dịch mã thành JavaScript và lưu trữ mã JavaScript đó trong tệp JavaScript. Tôi khuyên bạn nên sử dụng HTML/JavaScript không có trình biên dịch khi xây dựng Tiện ích mở rộng của Chrome.

Bạn cần lưu ý rằng có 3 phần chính trong tiện ích mở rộng của chrome. Đó là: nộp
manifest.json
Một Javascript
tập tin HTML

Có nhiều bước và nó không phải là khó khăn để xây dựng một phần mở rộng của Google Chrome. This link will give you the complete tutorial on developing a chrome extension with detailed explanation. Hướng dẫn này cài đặt một mẫu để bạn có thể phát triển nó trong Visual Studio giống như tôi đã đề cập trước đây.

+0

điều này không liên quan đến câu trả lời của bạn cũng như câu hỏi, chỉ muốn hỏi mẫu chrome này được mô tả trong bài viết này chỉ hoạt động cho VS2013/15. Tôi đã thử cài đặt mẫu này trên máy của mình có ** chỉ ** visual studio 2017, nhưng nó không thành công? tiện ích mở rộng này chỉ xây dựng cho studio trực quan 2015 không? –

+0

Tôi đang gặp phải lỗi tương tự khi cài đặt mẫu tiện ích mở rộng chrome trên VS2017. Vì vậy, theo quan điểm của tôi, phần mở rộng này chỉ hỗ trợ phiên bản VS15, 13 và như vậy trên https://stackoverflow.com/questions/41215916/vsixinstaller-noapplicableskusexception-this-extension-is-not-installable-on-an –

+5

bạn vô tình thêm tiền thưởng vào Câu hỏi? –

0

Trình quản lý tiện ích mở rộng của riêng Chrome hỗ trợ các tiện ích mở rộng được viết trong jshtml.

mà nói, để thực hiện c# mã trong phần mở rộng bạn có hai lựa chọn:

  1. Compile c# mã để javascript mã mà sau đó có thể được thêm vào như là một javascript mở rộng bình thường để chrome (hãy nhìn vào scriptsharp)
  2. Sử dụng C# làm hệ thống back-end.giống như hầu hết download managers:

đối với trường hợp 2 bạn cần aC# ứng dụng được cài đặt trong thiết bị của khách hàng (hoặc trong đám mây) niêm yết với một cổng cụ thể (sử dụng httplistener hoặc self hosted webapi (you can use netcore) đó làm các bước sau

  1. Liệt kê các yêu cầu gửi đến
  2. dữ liệu yêu cầu phân tích cú pháp ví dụ: json và làm điều gì đó với nó
  3. trả lại kết quả cho tiện ích mở rộng javascript có thể hiển thị cho người dùng hoặc thực hiện những việc khác nó.
1

Những gì tôi đã làm cho địa chỉ được sử dụng Simple Message Host, nó sẽ kích hoạt một thực thi trên máy cục bộ mà bạn mã trong C#, gửi stdin thông điệp và nghe stdout thông điệp để bạn có thể xây dựng máy chủ này để sử dụng như một cây cầu , nhưng như tôi đã nói, nó cần phải có trên local network của bạn ít nhất, và bạn phải thực hiện một số chỉnh sửa trong windows registry, do đó, nó có những hạn chế của nó.

Nhưng đối với hệ thống tôi đang làm việc, giải pháp này hoạt động hoàn hảo vì tôi có môi trường được kiểm soát để tôi có thể thiết lập tất cả các điều kiện tiên quyết này.

Vì vậy, chỉ cần làm rõ, những gì tôi đã làm ở đây là:

  1. Tạo một phần mở rộng chrome với background.js mở cửa người nghe để javascript của website.

  2. Thêm đăng ký trong windows registry trỏ đến đường dẫn của tệp thực thi.

  3. Tạo tệp thực thi trong C# thực hiện tất cả logic của bạn.

  4. Gửi phản hồi từ tệp thực thi đến tiện ích mở rộng và sau đó quay lại trang web.

Có một số hướng dẫn về cách thực hiện việc này, vì vậy tôi sẽ không trình bày chi tiết các bước này tại đây để tôi không sao chép.

Nhưng hiện tại, đây là cách tốt nhất để làm những gì bạn muốn, nếu bạn có quyền kiểm soát môi trường của mình. Vì vậy, nếu plugin của bạn (tiện ích mở rộng hoặc ứng dụng chrome) sẽ hoạt động trên môi trường được kiểm soát, đây là cách để đi, nếu không, tôi sẽ xem xét điều gì đó có liên quan đến ClickOnce có lẽ hoặc WebAssembly nhưng chưa được phát hành đầy đủ.

Các vấn đề liên quan