
рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдореИрдВ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдорд╛рдирдХ рд╡реЗрдмрдмреНрд░реЛрдЬрд╝рд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдХрдИ рдХрд╛рд░рдг рдереЗ:
1. рдПрдХ IE рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдордЬрдмреВрдд рддрд░реНрдХ рд╣реИред
2. рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде рд╡рдХреНрд░ рдХрд╛рд░реНрдпред
3. рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреА рдХрдореАред
4. рдпрджрд┐ рдЖрдк рдПрдХ рдорд╢реАрди рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ IE6 рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд╕рднреА "рдлрд╛рдпрджреЗ" рдЖрд╡реЗрджрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХреА рдЧрдИред
2 рдПрд╕рдбреАрдХреЗ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЧрдИред xulrunner (рдореЛрдЬрд╝рд┐рд▓рд╛) рдФрд░ Awesomium (рдХреНрд░реЛрдо)
рджреЛрдиреЛрдВ рдХрд╛ рд╕рдВрдмрдВрдз рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рджреЛрдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
1. xulrunnerрдЪрд░рдг 1
рд╣рдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ
http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВрд╡рд╣ рд╕рдВрд╕реНрдХрд░рдг рдЪреБрдиреЗрдВ рдЬреЛ рд╣рдореЗрдВ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдореИрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╡рд┐рд╖рдпрд╛рдВрддрд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдмрд╛рдж рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг, рднрд╛рд░реА рдпрд╣ рд╣реИ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 1.9v рдХрд╛ рд╡рдЬрди 21MB рд╣реИред рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 19v рдХрд╛ рд╡рдЬрди 32MB рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕ рдПрд╕рдбреАрдХреЗ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдерд╛ред
рдЗрд╕ рд▓рд┐рдВрдХ рд╕реЗ рд╣рдо рдЪрдпрдирд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ sdk / xulrunner-XXen-US.win32.sdk.zip
рдЪрд░рдг 2
рд╕рд╛рдордЧреНрд░реА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЕрдирдкреИрдХ рдХрд░реЗрдВред рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдбреИрдбреА рдмрд┐рди рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд░реБрдЪрд┐ рд╣реИред рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ xulrunner рдХрд╛ рдирд╛рдо рджреЗрдВред рдирд╛рдо рдПрдХ рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рдХрд┐ рдореЗрд░реЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд╛рдо рдмрдирд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдЪрд░рдг 3
рдЗрд╕ SDK рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ Skybound.GeckoFX.bin.v1.9.1.0 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдпрд╣рд╛рдБ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
http://code.google.com/p/geckofx/рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп xulrunner рд╕рдВрд╕реНрдХрд░рдг 1.9 рдЪрд▓рд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ Skybound.GeckoFX 2.0 рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 2.0 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред
рдЪрд░рдг 4
рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ, рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд╕рдВрджрд░реНрдн рдореЗрдВ Skybound.Gecko.dll рдЬреЛрдбрд╝реЗрдВ
рдЪрд░рдг 5
рдХрдХреНрд╖рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
static class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form2()); } }
рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ:
string path = "C:\\Program Files (x86)\\xulrunner\\";
рдЗрд╕ рдХреЛрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореВрд▓ рдкреИрдирд▓ рдкреИрдирд▓ 1 рд╣реЛрдЧрд╛
рдЪрд░рдг 6
рдХрд┐рд╕реА рднреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЯреНрд░рд┐рдХреНрд╕ рдкрд░ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╛ рддреЛ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ, рдпрд╛ рдХреБрдЫ рдФрд░ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЬреЛ рдПрдХрдорд╛рддреНрд░ рд░рд╛рд╕реНрддрд╛ рдорд┐рд▓рд╛ рд╡рд╣ рдерд╛:
webBrowser1.Navigate("javascript:ImGecko()");
рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд░реВрдк рдореЗрдВ () рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдиреЗ рдореБрдЭреЗ рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдПрдЬрд╝реЛрдорд┐рдпрдо рдореЗрдВ рдЖ рдЧрдпрд╛
2. рдЕрд╡реЗрд╢рд┐рдпрдордЪрд░рдг 1
рдПрд╕рдбреАрдХреЗ рдХреЛ
http://awesomium.com/ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
рд╕рд╛рдЗрдЯ рдкрд░ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ - рд╕реНрдерд┐рд░ (1.6.5) рдФрд░ рдкрд░реАрдХреНрд╖рдг (1.7)ред рдкрд░реАрдХреНрд╖рдг рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдлрд╛рдЗрд▓реЗрдВ рдЪрд╛рд╣рд┐рдП
Awesomium.Core.dll
Awesomium.dll
Awesomium.Windows.Controls.Design.dll
Awesomium.Windows.Controls.dll
Awesomium.Windows.Forms.dll
рдЪрд░рдг 2
рд╣рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреБрдбрд╝рддреЗ рд╣реИрдВ
Awesomium.Core.dll
Awesomium.Windows.Forms.dll
рдЪрд░рдг 3
рдЯреВрд▓рдмреЙрдХреНрд╕ рдореЗрдВ, рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЖрдЗрдЯрдо рдЪреБрдиреЗрдВред рдЗрд╕рдХреЗ рдмрд╛рдж, рдмреНрд░рд╛рдЙрдЬрд╝ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ Awesomium.Windows.Forms.dll рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирдП рдирд┐рдпрдВрддреНрд░рдг WebControl, рдкрддрд╛рдмреЙрдХреНрд╕ рдЖрджрд┐ рд╣реЛрдВрдЧреЗред WebControl рд╣рдорд╛рд░реА рдкрд╣рд▓реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ
рдЪрд░рдг 4
рд╣рдо рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рд░рдЦрддреЗ рд╣реИрдВ
рдЪрд░рдг 5
рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдгред
рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреГрд╖реНрда
webControl1.LoadURL("http://ya.ru");
рдХреБрдХреАрдЬрд╝ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
string cookie;
рдЪрд░ рдПрдордПрдХреНрд╕ рдФрд░ рдореЗрд░реЗ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
Awesomium.Core.JSValue x = webControl1.ExecuteJavascriptWithResult("mx", 500); Awesomium.Core.JSValue y = webControl1.ExecuteJavascriptWithResult("my", 500);
500 рдПрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИред
рдЬреЗрдПрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓
webControl1.CallJavascriptFunction("", "al", new Awesomium.Core.JSValue[] {});
рдЕрд▓ рдлрдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рд╣реИ
рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдорд╛рди рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЦрд╛рд▓реА рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг Awesomium 1.6.5 рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрд╕реНрдХрд░рдг 1.7 рдореЗрдВ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдереЛрдбрд╝рд╛ рдмрджрд▓рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдХреБрдЫ рддрд░реАрдХреЗ рдЧрд╛рдпрдм рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╣реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖рдлрд┐рд▓рд╣рд╛рд▓, рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдореИрдВ рдПрд╡реЗрд╕рдорд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ: рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдзрд┐рдХ рд╕рдореГрджреНрдз рд╣реИред рдЗрд╕рд╕реЗ рднрд╛рд░ рдЫреЛрдЯрд╛ рд╣реИред рдХреЗрд╡рд▓ рдирдХрд╛рд░рд╛рддреНрдордХ рдпрд╣ рд╣реИ рдХрд┐ рдлреНрд▓реИрд╢ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рд╢рд╛рдпрдж рдореИрдВрдиреЗ рдЕрднреА рдкрддрд╛ рдирд╣реАрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рд╣реИ)ред рдЕрдиреНрдпрдерд╛, рдЗрд╕ рдПрд╕рдбреАрдХреЗ рдиреЗ рдореБрдЭреЗ рд╣рд░ рдЪреАрдЬ рдореЗрдВ рдЕрдиреБрдХреВрд▓ рдмрдирд╛ рджрд┐рдпрд╛ред