日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Delphi中Chrome Chromium、Cef3学习笔记(二)

發(fā)布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Delphi中Chrome Chromium、Cef3学习笔记(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

尊重作者原創(chuàng),轉載請注明出處,原文地址:

http://blog.csdn.net/xtfnpgy/article/details/46635739


用Tchromium替換webbrowser

  用慣了EmbeddedWB,不想換,但是IE內核一直存在內存泄漏問題,沒辦法,只有尋找替代品了。

  要把用習慣的EmbeddedWB換成完全不一樣的TChromium,有點挑戰(zhàn),特別是在資料不多,英語沒過三級的情況下。未來趨勢是這樣,只有慢慢啃了。

  首先,想到的是跨域,如果不能跨域,就沒辦法替代手上的成品。TChromium的跨域比想像中的簡單,直接通過chrm.Browser.GetFrameNames(list);//list:tstringList;取得各個IFrame/Frame的名稱(所謂名稱不是指name屬性,只是一個標識,在有name時,返回name,沒有name時,ID 也行,都沒有時,自動生成一個唯一名稱),如:

  ff ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //這個是一個框架的ID

  <!--framePath //ff/<!--frame0-->-->?

  <!--framePath //ff/<!--frame1-->-->

  <!--framePath //ff/<!--frame2-->--> ? ? ? ? ? ? ? ? ? //后面三個是自動生成的唯一名稱

獲取指定Frame時,通過chrm1.Browser.Frame['frame 的名稱'],取得ICefFrame接口,后面的操作請隨意。

常用方法:

獲取主框架 chrm1.browser.MainFrame

獲取源代碼 s :=?chrm1.browser.MainFrame.Source;

  其次是填表,用過google瀏覽器的都知道,其填表功能實在強大,在webbrowser時代,一般都是獲取表單元素的各種接口,然后設置其value、checked等屬性,而在TChromium中,一切皆js,把想做的事都讓js去執(zhí)行吧,所以,用TChromium,js功力深厚的會輕松很多了。比如:

strTemp := 'document.forms[0].inmembername.value="User_Name";'; JavaExec(strTemp); strTemp := 'document.forms[0].inpassword.value="Password";'; JavaExec(strTemp); strTemp := 'document.forms[0].submit.click();'; chrm.browser.Frame['ff'].ExecuteJavaScript(str,'about:blank',0);; //想在哪一層frame執(zhí)行,就調用哪一層

更神奇的是,還可以通過以下方法加載屬于自己的jquery到瀏覽器中:

procedure TForm3.chrm1LoadEnd(Sender: TCustomChromium;const browser: ICefBrowser; const frame: ICefFrame; httpStatusCode: Integer;out Result: TCefRetval); varstr:string; beginstr:='var oHead = document.getElementsByTagName(''HEAD'').item(0);'#13#10+'var oScript = document.createElement( "script" );'#13#10+'oScript.language = "javascript";'#13#10+'oScript.type = "text/javascript";'#13#10+'oScript.id = "sid";'#13#10+'oScript.defer = true;'#13#10+'oScript.src = "jquery.js";'#13#10+'oHead.appendChild( oScript );'#13#10+'alert("8")' ;Frame.ExecuteJavaScript(str,'about:blank',0); end;

直接連接本地的js!!!這段代碼最后寫在LoadEnd中,每加載完成一個frame,就讓這個frame加載自己的jquery,如果在需要使用的時候再去加載jquery,jquery加載是需要時間的,可能會導致緊接著的js代碼不能生效。


注意事項:Delphi執(zhí)行JS的代碼,必須注意大小寫,特別是自己寫的JS函數(shù),因為JS是區(qū)分大小寫的!~

下一篇主要講解DELPHI與JS交互的更深層次方面。

尊重作者原創(chuàng),轉載請注明出處,原文地址:

http://blog.csdn.net/xtfnpgy/article/details/46635739



轉載于:https://www.cnblogs.com/xtfnpgy/p/9285408.html

總結

以上是生活随笔為你收集整理的Delphi中Chrome Chromium、Cef3学习笔记(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩一级片在线观看 | 春色av| 夜夜夜夜骑 | 日本三级网站在线观看 | 严厉高冷老师动漫播放 | 爱爱视频免费看 | 四虎精品成人免费网站 | 高清精品xnxxcom | 国产精品午夜在线 | 成年人黄色片 | 精品国产乱码久久久久久图片 | 在线免费观看日韩视频 | 精人妻无码一区二区三区 | 久久久久99精品国产片 | 浪漫樱花动漫在线观看免费 | 国产精品成人电影在线观看 | 亚洲人成色777777老人头 | 99视频在线观看免费 | 欧美日韩国产传媒 | 免费黄网在线看 | 日本不卡在线播放 | 日本少妇色 | 亚洲国产天堂av | 欧美不卡在线视频 | 欧美日韩在线直播 | 午夜视频在线观看网站 | 一区二区欧美在线 | 国产在线观看网站 | 日韩大胆人体 | 国产又粗又猛又黄又爽的视频 | 国产精品欧美久久久久久 | 欧日韩不卡在线视频 | 超碰牛牛 | 极品尤物一区二区 | 日韩特级黄色片 | 91拔萝卜视频 | mm131美女大尺度私密照尤果 | 嫩草研究院在线 | 国产熟妇另类久久久久 | 精品乱码久久久久久中文字幕 | 男人的天堂免费 | 欧美激情精品久久久久久 | 黄色xxxx| 疯狂少妇 | 国产一区二区视频在线免费观看 | 国产乱码精品一区二三区蜜臂 | 亚洲精品一区久久久久久 | 亚洲最大色网站 | 青青草原综合网 | 天天狠天天干 | 户外露出一区二区三区 | 久草免费资源站 | 91狠狠爱| 欧美理伦片在线播放 | 欧美视频xxxx | 欧美三级国产 | 谁有免费的黄色网址 | av免费在线观看网址 | 性欧美巨大 | 经典毛片 | 黄色网战入口 | 久久精品视频一区二区三区 | 欧美色插 | 国产精品永久免费观看 | 成人在线观看www | 中文字幕在线观 | 亚洲成人黄色在线 | 国产日韩精品一区二区三区 | 女生喷液视频 | av伦理在线 | 日本一区二区在线 | 91影视在线观看 | a在线v| 男人的天堂亚洲 | 91精品视频在线 | 亚洲自拍小视频 | 干日本少妇首页 | 亚洲无人区码一码二码三码的含义 | 亚洲女人av | 黄色性大片 | 国产特级视频 | 久久福利视频网 | 漂亮人妻洗澡被公强 日日躁 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 日韩av资源在线观看 | 成人天堂 | 桃花色综合影院 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 性一交一黄一片 | 北条麻妃一区二区三区免费 | 深夜啪啪 | 六月丁香婷婷综合 | 日韩高清不卡一区 | 18岁禁黄网站 | 亚洲视频一二三区 | 免费av网站在线播放 | 亚洲少妇30p| 国产成人精品一区二三区 | 欧美国产日韩在线观看成人 |