wordpress 修改文章,seo更新网站内容的注意事项,企业做网站步骤,媒体网络推广价格优惠用惯了EmbeddedWB,不想换#xff0c;但是IE内核一直存在内存泄漏问题#xff0c;没办法#xff0c;只有寻找替代品了。要把用习惯的EmbeddedWB换成完全不一样的TChromium#xff0c;有点挑战#xff0c;特别是在资料不多#xff0c;英语没过三级的情况下。未来趋势是这样…用惯了EmbeddedWB,不想换但是IE内核一直存在内存泄漏问题没办法只有寻找替代品了。要把用习惯的EmbeddedWB换成完全不一样的TChromium有点挑战特别是在资料不多英语没过三级的情况下。未来趋势是这样只有慢慢啃了。首先想到的是跨域如果不能跨域就没办法替代手上的成品。TChromium的跨域比想像中的简单直接通过chrm.Browser.GetFrameNames(list);//list:tstringList;取得各个IFrame/Frame的名称(所谓名称不是指name属性只是一个标识在有name时返回name,没有name时ID 也行都没有时自动生成一个唯一名称),如ff //这个是一个框架的ID------ //后面三个是自动生成的唯一名称获取指定Frame时通过chrm1.Browser.Frame[frame 的名称]取得ICefFrame接口后面的操作请随意。其次是填表用过google浏览器的都知道其填表功能实在强大在webbrowser时代一般都是获取表单元素的各种接口然后设置其value、checked等属性而在TChromium中一切皆js把想做的事都让js去执行吧所以用TChromiumjs功力深厚的会轻松很多了。比如strTemp : document.forms[0].inmembername.valueUser_Name;;JavaExec(strTemp);strTemp : document.forms[0].inpassword.valuePassword;;JavaExec(strTemp);strTemp : document.forms[0].submit.click();;chrm.browser.Frame[ff].ExecuteJavaScript(str,about:blank,0);; //想在哪一层frame执行就调用哪一层更神奇的是还可以通过以下方法加载属于自己的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#10var oScript document.createElement( script );#13#10oScript.language javascript;#13#10oScript.type text/javascript;#13#10oScript.id sid;#13#10oScript.defer true;#13#10oScript.src jquery.js;#13#10oHead.appendChild( oScript );#13#10alert(8) ;Frame.ExecuteJavaScript(str,about:blank,0);end;直接连接本地的js这段代码最后写在LoadEnd中每加载完成一个frame,就让这个frame加载自己的jquery如果在需要使用的时候再去加载jqueryjquery加载是需要时间的可能会导致紧接着的js代码不能生效。最后最后先到这里下一次再说关于弹出窗口、右键菜单、摸拟鼠标点击等内容。附google论坛delphi TChromium的问题讨论群组http://groups.google.com/group/delphichromiumembedded