亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#在WinForm中使用WebKit傳遞js對象實現與網頁交互的方法

2020-01-24 01:14:31
字體:
來源:轉載
供稿:網友

本文實例講述了C#在WinForm中使用WebKit傳遞js對象實現與網頁交互的方法。分享給大家供大家參考,具體如下:

有個項目要使用WebBroswer控件,并且要能傳遞一個js對象供前臺調用,用c#的WebBroswer控件很容易實現:

private void Form1_Load(object sender, EventArgs e){  WebBrowser wb = new WebBrowser();  wb.ObjectForScripting = new myClass();}

要傳遞的js對象必須使用[ComVisibleAttribute]標記為COM 可見:

[System.Runtime.InteropServices.ComVisibleAttribute(true)]class myClass{  public void Test()  {    System.Windows.Forms.MessageBox.Show("alert:Test");  }}

這樣前臺就能使用window.external調用myClass的方法: window.external.Test();

如果就這樣那就簡單了 ,可偏偏項目使用的網站對IE的兼容性極差(吐槽下:個人覺得是IE太爛了,對標準的支持太差),無奈之下想找尋其他類似的WebBrowser控件,發現幾個不錯的替換控件:

GeokoFx:一個Firefox的Geoko引擎的Windows Forms包裝,google上的下載地址:http://code.google.com/p/geckofx/ 官網:http://www.geckofx.org/
WebKit.NET:webkit的.NET封裝,下載地址:http://sourceforge.net/projects/webkitdotnet/

本來決定使用GeokoFx,因為項目使用的網站用火狐打開是很快的,但是我找了幾天資料也沒發現怎么傳遞個js對象給控件,當發現Qt的webbroswer控件也是封裝的WebKit控件時,遂決定使用WebKit,但WebKit.NET也沒有直接提供傳遞對象的方法,后來發現又一個好東西:

open-webkit-sharp:對webkit.net的又一次封裝,提供了很多新功能。google上下載地址:http://code.google.com/p/open-webkit-sharp/

下面的使用就非常簡單了,下載open-webkit-sharp后,把Core文件夾和References文件夾下所有文件拷貝到你的工程目錄下,然后打開你的項目,添加引用OpenWebKitSharp.dll和WebKit.Interop.dll(如果你的項目運行在.NET Framework 2.0 或 3.5 引用 Binary_NET2文件夾下的這兩個文件,NET4.0的話就引用Binary文件夾下的這兩個dll);然后就是工具箱->選擇項->選擇OpenWebKitSharp.dll,然后從工具箱中把WebKitBrowser拖到你的窗體上.現在已經成功了一大步了,但是為了避免使用時遇到各種錯誤,我們需要先安裝兩個支持文件:

Microsoft C++ 2005 Redistributable http://www.microsoft.com/download/en/details.aspx?id=26347Windows XP/Vista/7 32/64 Bit

Apple QuickTime (Optional - for better HTML5 Support)
Ready!開始傳遞對象:

private void Form1_Load(object sender, EventArgs e){  this.webKitBrowser1.Navigate("http://yourWebSiteUrl");  this.webKitBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webKitBrowser1_DocumentCompleted);}void webKitBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e){  this.webKitBrowser1.GetScriptManager.ScriptObject = new myClass();}

前臺調用方式類似IE的webbroswer,也使用window.external調用,你也可以自己定義一個對象:

復制代碼 代碼如下:
this.webKitBrowser1.GetScriptManager.EvaluateScript("var obj=window.external;");

這樣調用的時候就能用你自己定義的對象名訪問了。

應該也有直接自己定義對象的方法,但是open-webkit-sharp中文的資料實在的不多,耐著性子看了幾天老外的論壇,一水的全是吐槽,實際解決問題的不多。等有更好的方法,也請大家不吝賜教。

更多關于C#相關內容感興趣的讀者可查看本站專題:《C#數據結構與算法教程》、《C#常見控件用法教程》、《C#面向對象程序設計入門教程》及《C#程序設計之線程使用技巧總結

希望本文所述對大家C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97欧美精品一区二区三区| 久久亚洲国产精品| 国产亚洲欧美日韩美女| 91av在线免费观看视频| 国产精品中文字幕在线观看| 国产一区二区丝袜高跟鞋图片| 日韩av成人在线| 伊人伊成久久人综合网站| 亚洲国产成人一区| 欧美大片在线影院| 久久精品免费播放| 亚洲字幕在线观看| 亚洲人成77777在线观看网| 最新国产成人av网站网址麻豆| 日本国产欧美一区二区三区| 亚洲激情电影中文字幕| 国产亚洲一区二区在线| 亚洲国产精品999| 亚洲www在线| 欧美在线视频在线播放完整版免费观看| 欧美激情第1页| 久久久99久久精品女同性| 日韩黄色高清视频| 中文字幕亚洲综合久久| 668精品在线视频| 不卡av在线播放| 欧洲午夜精品久久久| 国产精品美女免费看| 91日韩在线播放| 久久免费视频在线观看| 中文字幕日韩欧美在线| 国产精品中文字幕久久久| 4p变态网欧美系列| 成人乱色短篇合集| 欧美日韩一区二区在线| 中文字幕国产精品| 国产精品jvid在线观看蜜臀| 国产精品久久久久久久久影视| 91亚洲永久免费精品| 成人女保姆的销魂服务| 欧美疯狂性受xxxxx另类| 欧美性xxxx| 黑人巨大精品欧美一区二区免费| 亚洲国产成人91精品| 91欧美激情另类亚洲| 综合国产在线观看| 欧美高清视频免费观看| 最近的2019中文字幕免费一页| 日韩成人激情在线| 国产一区二区久久精品| 91精品国产综合久久香蕉最新版| 欧美成人中文字幕| 欧美在线国产精品| 日韩欧美在线视频| 亚洲天堂av高清| 亚洲自拍欧美另类| 日韩欧美国产免费播放| 亚洲精品按摩视频| 亚洲视频精品在线| 久久久久久久久久国产| 久久久在线视频| 性日韩欧美在线视频| 国产裸体写真av一区二区| 亚洲国产精品va在线看黑人动漫| 欧美性猛交xxxx偷拍洗澡| 亚洲一区中文字幕| 91精品国产亚洲| 国产欧美韩国高清| 亚洲曰本av电影| 黑人巨大精品欧美一区二区| 欧美老女人xx| 亚洲精品资源美女情侣酒店| 欧美黑人xxxⅹ高潮交| 97视频在线看| 精品视频9999| 国产精品专区一| 国产精品美女av| 国产精品亚洲视频在线观看| 日韩在线视频中文字幕| 国产精品一区二区三区毛片淫片| 国产欧美日韩精品专区| 亚洲黄在线观看| 日本免费一区二区三区视频观看| 日韩电影中文字幕在线观看| 国产精品av免费在线观看| 久久免费精品视频| 亚洲成人精品久久| 欧美老少做受xxxx高潮| 热门国产精品亚洲第一区在线| 国产999在线观看| 亚洲免费视频一区二区| 久久99久久99精品中文字幕| 精品久久久国产| 国产成人精品免费视频| 亚洲女人天堂色在线7777| 欧美激情日韩图片| 欧美精品一区三区| 欧美精品免费在线观看| 亚洲成av人乱码色午夜| 国产精品久久久久国产a级| 一区二区福利视频| 国产亚洲人成a一在线v站| 欧美理论片在线观看| 亚洲一级免费视频| 欧美日韩国产综合视频在线观看中文| 88国产精品欧美一区二区三区| 久久精品福利视频| 午夜精品久久久久久久久久久久| 日本久久精品视频| 国产偷国产偷亚洲清高网站| 亚洲最大av在线| 亚洲第一精品自拍| 91精品免费视频| 成人网在线观看| 日韩电视剧在线观看免费网站| 国产精品69av| 国产日韩在线一区| 日本午夜人人精品| 97热精品视频官网| 日韩av在线播放资源| 日韩一区二区av| 欧美在线视频免费| 精品欧美aⅴ在线网站| 69国产精品成人在线播放| 亚洲女人被黑人巨大进入| 国产精品精品视频一区二区三区| 久久视频精品在线| 国产日韩欧美视频| 欧美日韩国产精品一区| 日韩一区二区三区xxxx| 欧美一级电影在线| 国产精品99久久久久久人| 91香蕉嫩草影院入口| 欧美在线免费视频| 555www成人网| 羞羞色国产精品| 亚洲激情电影中文字幕| 久久青草精品视频免费观看| 日韩中文字幕免费看| 国产日韩欧美在线看| 亚洲成人网久久久| 色噜噜亚洲精品中文字幕| 国产精品久久久久久久久久新婚| 夜色77av精品影院| 日韩欧美有码在线| 黑人巨大精品欧美一区免费视频| 欧美大片网站在线观看| 亚洲人成绝费网站色www| 国产精品久久久久av免费| 中文字幕精品久久久久| 国产欧美日韩亚洲精品| 久久av在线播放| 亚洲免费人成在线视频观看| 国产成人精品久久| 国产日韩精品在线观看| 精品国产一区二区三区久久久狼| 国产精品夜间视频香蕉| 日韩在线观看高清| 在线观看精品自拍私拍| 日韩电影免费在线观看| 国产亚洲精品日韩| 国产91精品久久久| 国产精品久久久久久久久久东京| 91国在线精品国内播放|