Segítségével gekkó c # geckofx, hírek blog - article c #, php, Delphi, freeware

Segítségével gekkó c # geckofx, hírek blog - article c #, php, Delphi, freeware
Nem mindenki örül a standard motor Windows IE. De szerencsére sok alternatív motorok C #. Gecko egyik, és ezen a poszton fogom leírni, hogyan kell használni GeckoFx saját projekteket.







Forrás megtalálható a cikk végén.

Abban az időben az írás, a legújabb verzióját GeckoFx a C # 22. Hosszú ideje nem frissíti, és nyúlhat meghalt, de még a 22 verzió jobb IE. Így kezdődik 🙂

Írjon egy kérelmet, hogy fog menni a fő oldalon a Google. meg néhány lekérdezést, és végig egy véletlenszerű helyen a SERP.
Hozzon létre egy új projekt (Application Windows Forms), hívjuk «GeckoExample«, nevezze át a fő formája a «FrmMain«, a méret a fő formája = 514; 399.

Mert a munka, van szükség:

Most, egy feladat létrejött add linkek Geckofx-Core.dll és Geckofx-Winforms.dll.

Segítségével gekkó c # geckofx, hírek blog - article c #, php, Delphi, freeware
Dobd alkotnak Panel (Name = pnl1, Hely = 0, 0, Size = 495; 25) a panel hozzá gomb (Name = «btnStart», Hely = 0, 0, Size = 75; 23, Text = kezdődik) mellett, a dobás TextBox (Name = «tbUrl», Hely = 84, 2, Size = 244, 20).

A projekt tulajdonságai vált végső platform x86.

Segítségével gekkó c # geckofx, hírek blog - article c #, php, Delphi, freeware
Most indul vesződnie.
A fő űrlap osztályban csatlakozni:

Ez egy példa, így várható, némi rugalmasságot (közvetlenül másolni és üzemeltetni szükséges) tőle, nem 😉
Figyelembe véve a méret, akkor nem hiszem, hogy nehéz, hogy egy teljesen megáll után this._webBrowser és megnézzük, mi ez az objektum, a mezők és módszerek.
Köztük vannak olyan területek, mint a magasság (magasság) és szélessége (szélesség), amelyben beállíthatja a méret a vezérlő. Azt is meg kell határozniuk az Anchor ingatlan AnchorStyles.Left | AnchorStyles.Top. mert A példában segítségével horgonyok (AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom) vezérlők „ragaszkodik”, hogy az összes a nyomtatvány széleinek.

Pontosan. Köszönjük!
Dokumentáció, ha jól értem, van rá, még angolul?

Nem dokumentációt. Miután talált példát (a 16 verzió, egyfajta) angolul.
Ahhoz, hogy a módszer tudományos lándzsa taxik 🙂

Úgy látom, hogy nagyon jól sikerült a Geckofx. Mondd, ha tudod. By ingatlan geckoWebBrowser1.Document van a dokumentumokhoz való hozzáférést, amely már elemzett motort. De vannak olyan esetek, amikor az eredeti forráskódját weboldalakat a szerver nem egyezik OuterHtml. Bár a motor és a jobb megjeleníti az oldalt, geckoWebBrowser1.Document ingatlan már elvesztette néhány adat, és nem férhetnek hozzájuk. ha nem geckoWebBrowser1.Navigate ( «view-source:» + url); A veszteségmentes kódot, de az első helyen jelenik meg az oldalon, hogy nem mindig van szükség, másrészt felkérést a szerver újra, és a többiek csak úgy néz ki jobb, és hozzáférést biztosít a html dokumentum hogyan? OuterHtml nem lesz az eredeti, ki kell egészíteni, hogy tervezzen elrendezés kimeneti kódot. Remélem, megérti, mit akarok tudni. Köszi előre.







Nem tudom, hogyan lehet az eredeti kód, ami egy szerver segítségével GeckoFx. mert mi az értelme húzza a dviglo van, ha azt szeretnénk, hogy egy kód (renderelés nélkül, stb), amely a szerver? Ilyen célokra van webes 🙂

Köszönöm a választ. Carry dviglo értelme bizonyos helyzetekben. A cél annak használatát egy adott kérdésben nem volt megszerezni a forráskódot, a motor más célokra használják fel. Csak párhuzamosan és a kérdés merült fel, hogy a szoftver az adatok feldolgozása az oldalról. Sajnos, mivel a szegény dokumentáció nem talált választ. Elfogadom, ha a motor még mindig használják, és buta Costa keresztül elérhető webes, ha az adott oldal már kapott és a kijelző a motor. Oké, nézzük meg az, talán nem minden elveszett.

A Costa szükséges programozás szinte folyamatosan 😉 óta nem minden lib kívánatos funkcionális / munka szükséges.
Nos, minden port (dopilivat) ez a motor a legtöbb preferencia és költő. De ez sokkal tovább tart elkészíteni, mint egy mankó.

Tudod is megpróbál kérni azoknak, akik átírták dviglo itt.
PS Rovására view-source. Akkor csal és kap hozzáférést a kód, mint ez:
_webBrowser.Navigate ( "view-source: someurl");
karakterlánc html = _webBrowser.Document.GetElementsByTagName ( "html") [0] .TextContent;
Elméletileg működnie kell 🙂

Csak nem csak az ablak kinyitása, hanem utólagos kérés küldése, és ezért hibát jelez.
Itt kell, hogy üljön le, és ásni (és a google :)), most már ideje, hogy ott, elfoglalva egyéb projektek.

A kérdésem az furcsa. Nem tudom megérteni, hogy Sync? Honnan tudja, hogy az oldal teljesen progruz és tud tovább dolgozni?
gyakori összetevője webböngészőn Megnéztem readyState, ha befejezte a mozdulatot.
De itt nem értem, mondd, mi?)

Csak nem talált egy időzítő és a terhelés függvényében. egyszerűen megváltoztatja a változó, és azt mondja, hogy az oldal betöltésekor 2 másodperc alatt? és ha ő nem volt ideje, hogy teher ez idő alatt?
vagy én hiányzik valami?

Ebben a példában az időzítőt, hogy eldöntheti, hogy az oldal betöltése 🙂 Ugyanez például a lustaság volt valami „mega-cool” egy egyszerű példát, hogy nem.
És ha ő nem volt ideje betölteni, a munka nem folytathatja a betöltött oldal.

Ja, értem. Köszönöm.
és még megmondani, hogy melyik oldalon az alkatrész, amelyben megoldott egyszerűbben, amikor moposchi módszerek és tulajdonságok?

kiadja a szabványos webböngésző, hogy miért nem terheli a tartalmát a dokumentumot, egyáltalán nem. (Mindkét betöltve az első navigációs és összes)
Megértem a Gecko ez minden rendben van, hogy ez csak akkor kell szinkronizálni mankó?

Leírom alább, hogy egyik alkatrész (akivel találkoztam 🙂) nem lehet egyetlen módszer / esemény határozza meg a teljes oldalt terhelés (akár a Delphi 7 és fent ez a szemét az egész, és megpróbált több, mint egy csomó alkatrészek). Még egy közönséges böngésző (Chrome, Fox) nem tud 🙂
A mankó letöltésével elég egyszerű: használja az időzítőt, és ellenőrizze a tulajdonságait IsBusy. Timer „üzem”, például, 10 másodperc, amikor az időzítő elindul változik változó _loading hamis.
És a módszer megnyitja a linkeket, ahol a várakozás az oldal betöltésekor, nem egy egyszerű hurok:
while (_wb.IsBusy # 038; _loading)
// várakozás
>
_loadingTimer.Stop ();
// munkát az oldalt

Használja az időzítőt minden esetben szükség van, mert lehet néhány script egy nafig felesleges számláló, amely tele van szinkronban „poveshat” oldalon (ami mindig betöltődik, vagy csak nagyon hosszú idő), és ennek eredményeként a program vár a Hachiko 🙂

Üdvözlendő, itt Java működő példa:

var esemény = document.createEvent ( 'MouseEvents');
event.initMouseEvent ( 'click', igaz, az igaz, ablak, 1, 10, 10, 10, 10, hamis, hamis, hamis, hamis, 0, null);
document.getElementById ( 'idid') dispatchEvent (esemény) .;
>

Itt azt hiszem, hogy próbálja varrni Geske. Próbáltam küldeni SendMessage minden kiderült azonban, ha kikapcsolom az alkalmazást, hogy a kattintások nem minden területen. Az ok neizvesno, de átláthatóvá tenni a nulla formában, hogy minden tökéletesen működik, anélkül, hogy egy igazi kattintással. Formája azonban nem rejti nagyon jól. Szeretnék razobratsya mi sobsvenno ügyben. Ha van ideje, hogy vegyenek részt a megoldást találjanak erre a problémára ..