Delphi EmbeddedWB 遍历Frames并执行子frame的js脚本

    var  
      wDoc:IHTMLDocument2;  
      
      wc:IHTMLWindow2;  
      Dispatch:IDispatch;  
    begin  
       //遍历emWb:TEmbeddedWB的Frames  
       if emWb <> nil then  
       begin  
      
         wDoc := ((emWb.Document as IHTMLDocument2));  
         if Assigned(wDoc) then  
         begin  
               for i=0 to wDoc.frams.length -1 do //遍历  
      
               begin  
      
                    Dispatch:= wd.frames.item(0);  
                    Dispatch.QueryInterface(IHTMLWindow2,wc); //获得子frame的IHTMLWindow2对象  
      
                    wc.execScript('logout()','JavaScript');//执行js  
              end;                      
          end;  
       end;  
     end; 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TEmbeddedWB是一个很好的IE编程控件,现支持Delphi2009! =================================== Version 14.66.1 =================================== This version adds some constants for IE8, D2009 compatibility and includes some fixes / changes. * file EWB.inc: Added D2007, D2009 defines. {$IFDEF DELPHI_13_UP} {$ELSE} {$ENDIF} * EWBCore.pas: EnableThemes is set to True by default (I think this makes sense) -> UserInterfaceOptions := [EnableThemes]; * unit TEmbeddedWB.pas - Removed the Wait() in TEmbeddedWB.GetFrame as it could block - Modified Visible Property to work properly. Instead of TControl(TEmbeddedWB).Visible you can write TEmbeddedWB.Visible - Bsalsa UserAgent is not automatically set anytime anymore as it causes some problems. -> Modified SetUserAgent. Renamed RemoveUserAgent to RestoreUserAgent - Fix: Handle M_GETDLGCODE message in TEmbeddedWB.WndProc * unit IEConst: - Added constants that are missing in previous delphi versions: BINDSTATUS_COOKIE_SENT = BINDSTATUS_ACCEPTRANGES + 1; BINDSTATUS_COMPACT_POLICY_RECEIVED = BINDSTATUS_COOKIE_SENT + 1; BINDSTATUS_COOKIE_SUPPRESSED = BINDSTATUS_COMPACT_POLICY_RECEIVED + 1; BINDSTATUS_COOKIE_STATE_UNKNOWN = BINDSTATUS_COOKIE_SUPPRESSED + 1; BINDSTATUS_COOKIE_STATE_ACCEPT = BINDSTATUS_COOKIE_STATE_UNKNOWN + 1; BINDSTATUS_COOKIE_STATE_REJECT = BINDSTATUS_COOKIE_STATE_ACCEPT + 1; BINDSTATUS_COOKIE_STATE_PROMPT = BINDSTATUS_COOKIE_STATE_REJECT + 1; BINDSTATUS_COOKIE_STATE_LEASH = BINDSTATUS_COOKIE_STATE_PROMPT + 1; BINDSTATUS_COOKIE_STATE_DOWNGRADE = BINDSTATUS_COOKIE_STATE_LEASH + 1; BINDSTATUS_POLICY_HREF = BINDSTATUS_COOKIE_STATE_DOWNGRADE + 1; BINDSTATUS_P3P_HEADER = BINDSTATUS_POLICY_HREF + 1; BINDSTATUS_SESSION_COOKIE_RECEIVED = BINDSTATUS_P3P_HEADER + 1; BINDSTATUS_PERSISTENT_COOKIE_RECEIVED = BINDSTATUS_SESSION_COOKIE_RECEIVED + 1; - Added IE8 constants: BINDSTATUS_COOKIE_DATA = BINDSTATUS_SSLUX_NAVBLOCKED + 1; //IE8 BINDSTATUS_SERVER_MIMETYPEAVAILABLE = BINDSTATUS_COOKIE_DATA + 1; //IE8 BINDSTATUS_SNIFFED_CLASSIDAVAILABLE = BINDSTATUS_SERVER_MIMETYPEAVAILABLE + 1; //IE8 BINDSTATUS_64BIT_PROGRESS = BINDSTATUS_SNIFFED_CLASSIDAVAILABLE + 1; //IE8 * unit IEDownloadTools: - Added the new IE8 results to the function BindStatusText: BINDSTATUS_COOKIE_DATA: Result := 'Cookie headers have been received'; //IE8 - Attention: This documentation is preliminary and is subject to chang BINDSTATUS_SERVER_MIMETYPEAVAILABLE: Result := 'Server''s authoritative MIME type reported'; //IE8 - Attention: This documentation is preliminary and is subject to chang BINDSTATUS_SNIFFED_CLASSIDAVAILABLE: Result := 'Class identifier (CLSID) generated from authoritative Content-Type HTTP response header'; //IE8 - Attention: This documentation is preliminary and is subject to chang BINDSTATUS_64BIT_PROGRESS: Result := 'Download progress values are above the maximum 32-bit file size limit.'; //IE8 - Attention: This documentation is preliminary and is subject to chang * Various changes to make it D2009 compatible
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值