2009-03-31 36 views
7

Tôi cần JavaScript hoạt động gần như hoàn hảo trong ứng dụng của mình để có thể truy cập nội dung web và cho phép người dùng kiểm soát nó. Tuy nhiên, thành phần webbrowser bật cửa sổ mới trong trường hợp/ứng dụng riêng biệt của Internet Explorer và dotBrowser không hoạt động với JavaScript đúng cách.Có điều khiển trình duyệt web nào tốt hơn trong C# (.NET) không?

Xin vui lòng, cho tôi một số lời khuyên - Tôi thậm chí còn lấy một số ví dụ làm việc và tăng cường nó với chức năng tôi cần nó cho.

Trả lời

11

Hãy xem GeckoFX, là thành phần nguồn mở để nhúng Mozilla Gecko (Firefox) vào các ứng dụng .NET.

+0

Rất tuyệt, tôi chưa từng thấy điều đó trước đây. –

+0

+1 cho Gecko, tôi đang lập trình một ứng dụng trong C# và tôi đã có thể thiết lập và chạy nó trong 5 phút. Chỉ cần làm theo các hướng dẫn trong blog. –

1

Tôi có thể bị nhầm lẫn, nhưng tôi tin rằng các cửa sổ mới có thể được kiểm soát (hoặc ít nhất là bị chặn) bằng cách sử dụng điều khiển Trình duyệt Web trong .NET. Hãy xem sự kiện NewWindow.

Tôi đã có kinh nghiệm nhúng cả lõi WebKit (lõi Apple, được sử dụng trong Chrome) và lõi XULRunner (Gecko) vào ứng dụng .NET winforms. Hãy để tôi cung cấp cho bạn một số lời khuyên:

GeckoFX là đặt cược tốt nhất của bạn. Nó được cấp phép theo MPL và nó hoạt động khá nhiều trong số đó. Làm theo hướng dẫn cẩn thận và kéo phiên bản XUL chính xác được chỉ định. Tôi sẽ nói nó hoạt động tốt hơn kiểm soát WebBrowser. Có một số cuộc nói chuyện về sự chậm trễ đáng kể khi tải XUL lần đầu tiên nhưng tôi thấy nó không đáng kể. Xây dựng thương hiệu và tương tự hoàn toàn có thể tùy chỉnh thông qua các tệp bên ngoài.

WebKit có thể nhúng với SwiftDotNet. Nếu tất cả những gì bạn cần là hiệu suất javascript vững chắc thì đây có thể là một lựa chọn. Nếu bạn cần để có thể tải các tập tin, sau đó bạn có một số công việc cắt ra cho bạn.

Nhược điểm của bạn với cả hai tuyến đường là một khó chịu ~ 7-8mb trên không, ngay cả với nén (mặc dù tôi đã có thể nhận được 6,5MB với nén lz trong NSIS). Nếu bạn không tạo ra phần mềm phân tán người tiêu dùng thì điều này có thể không phải là vấn đề đối với bạn.

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