Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 18379|Svar: 1

[WinForm] Browser-lignende browserkontroller

[Kopier link]
Opslået på 26/02/2016 15.05.52 | | |

Nu bruger jeg Webbrowser og lægger det i en uafhængig tråd, og når websiden indlæses, vil programmet stadig sidde fast, reagere ikke, ikke reagere, og CPU-forbruget vil stige til 30%.
Den sidder ikke fast, når websiden ikke indlæses.

Derudover er brugen af InvokeMember("Click") til at simulere klik på nogle links ugyldig, og breakpunktet kan gå til det korrekte HtmlElement, men det simulerede klik svarer ikke.

Ikke alle klik er ugyldige, kun nogle knapper eller links er ugyldige.


Er der en måde at løse ovenstående problemer på?
Hvis ikke, findes der så en tredjepartskontrol, der bruger mindre CPU, som understøtter tildeling af værdier til tekstbokse, simulering af klik og betjening af rullebjælker.

WebKit .NET
Webkit-skarp
CefSharp
Awesomium
OpenWebKitSharp
Geckofx
MozNET Webkomponent





Tidligere:Hvilken er mest kraftfuld, browserkernen Gecko eller WebKit?
Næste:WebKit.net løsningen på undtagelsen WebKitBrowser.dll
 Udlejer| Opslået på 26/02/2016 15.29.06 |
Hvis det er det, er det simpelt, men hjemmesiden, som projektet bruger, har ekstremt dårlig kompatibilitet med IE (klager: Jeg synes personligt, IE er for dårlig, og understøttelsen af standarder er for dårlig), så jeg havde ikke andet valg end at lede efter andre lignende webbrowser-kontroller og fandt nogle gode erstatningskontroller:

GeokoFx: En Firefox Geoko Engine Windows Forms Package, download på Google Adresse: http://code.google.com/p/geckofx/ Officiel hjemmeside: http://www.geckofx.org/
WebKit.NET:webkit的.NET封装,下载地址:http://sourceforge.net/projects/webkitdotnet/

Jeg besluttede oprindeligt at bruge GeokoFx, fordi hjemmesiden, som projektet bruger, er meget hurtig at åbne med Firefox, men jeg søgte i et par dage og fandt ikke ud af, hvordan man sender et js-objekt til kontrollen. Da jeg fandt ud af, at Qt's webbroswer-kontrol også er en indkapslet WebKit-kontrol, besluttede jeg at bruge WebKit, men WebKit.NET gav ikke direkte en måde at sende objektet på, og så fandt jeg en anden god ting:

open-webkit-sharp:对webkit.net的又一次封装,提供了很多新功能。google上下载地址:http://code.google.com/p/open-webkit-sharp/
Følgende er meget enkelt: download open-webkit-sharp, kopier alle filerne i Core-mappen og References-mappen til din projektmappe, åbn derefter dit projekt og tilføj reference-OpenWebKitSharp.dll og WebKit.Interop.dll (hvis dit projekt kører på .NET Framework 2.0 eller 3.5 referencer Binary_ Disse to filer i NET2-mappen, i tilfældet NET4.0, refererer til disse to dll'er i Binary-mappen); Så er der Toolbox - > Selections - > Selection OpenWebKitSharp.dll og træk WebKitBrowser fra Toolbox over på din formular. Det er et stort skridt nu, men for at undgå alle mulige fejl ved brug af det, skal vi først installere to understøttende filer:
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com