打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
delphi WebBrowser的使用方法详解(三)
  1. <PRE>WebBrowser1.GoHome;  <SPAN style="COLOR: #008000">//到浏览器默认主页   
  2. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>WebBrowser1.Refresh;  <SPAN style="COLOR: #008000">//刷新   
  3. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>WebBrowser1.GoBack;  <SPAN style="COLOR: #008000">//后退   
  4. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>WebBrowser1.GoForward;  <SPAN style="COLOR: #008000">//前进   
  5. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>WebBrowser1.Navigate(<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'...'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>);  <SPAN style="COLOR: #008000">//打开指定页面   
  6. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>WebBrowser1.Navigate(<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'about:blank'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>);  <SPAN style="COLOR: #008000">//打开空页面   
  7. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><HR></PRE>  
  1. <PRE><SPAN style="COLOR: #008000">//打开空页面, 并写入...   
  2. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  
  3. WebBrowser1.Navigate(<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'about:<head><title>标题</title><body>页面内容</body>'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>);  
  4. <HR></PRE>  
  1. <PRE><SPAN style="COLOR: #008000">//读取网页脚本中的变量:   
  2. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  
  3. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>procedure</STRONG></SPAN> TForm1.Button1Click(Sender: TObject);  
  4. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN>  
  5.   s: <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>string</STRONG></SPAN>;  
  6.   i: Integer;  
  7. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  8.   s := WebBrowser1.OleObject.document.Script.str;  
  9.   i := WebBrowser1.OleObject.document.Script.num;  
  10.   ShowMessage(s);  <SPAN style="COLOR: #008000">//Hello   
  11. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  ShowMessage(IntToStr(i));  <SPAN style="COLOR: #008000">//99   
  12. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  
  13.   <SPAN style="COLOR: #008000">//也可以这样读:   
  14. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  s := WebBrowser1.OleObject.document.parentWindow.str;  
  15.   i := WebBrowser1.OleObject.document.parentWindow.num;  
  16.   ShowMessage(s);  <SPAN style="COLOR: #008000">//Hello   
  17. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  ShowMessage(IntToStr(i));  <SPAN style="COLOR: #008000">//99   
  18. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;</PRE>  
假如网页中有这样的语句:

  1. <PRE><SPAN style="COLOR: #008000">//调用网页脚本中的函数:   
  2. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  
  3. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>procedure</STRONG></SPAN> TForm1.Button1Click(Sender: TObject);  
  4. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  5.   WebBrowser1.OleObject.document.parentWindow.MB(); <SPAN style="COLOR: #008000">//HTML-Js   
  6. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  
  7.   <SPAN style="COLOR: #008000">//如需指定脚本语言, 需要:   
  8. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  WebBrowser1.OleObject.document.parentWindow.execScript(<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'MB()'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>,<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'JavaScript'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>); <SPAN style="COLOR: #008000">//HTML-Js   
  9. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;</PRE>  
假如有这样的脚本:

  1. <PRE><SPAN style="COLOR: #008000">//判断网页及内部框架网页是否全部下载完毕   
  2. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  
  3. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>procedure</STRONG></SPAN> TForm1.WebBrowser1DocumentComplete(ASender: TObject;  
  4.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>const</STRONG></SPAN> pDisp: IDispatch; <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN> URL: OleVariant);  
  5. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  6.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>if</STRONG></SPAN> WebBrowser1.Application = pDisp <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>then</STRONG></SPAN>  
  7.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  8.     Text := <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'网页下载完毕!'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>;  
  9.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;  
  10. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;</PRE>  

  1. <PRE><SPAN style="COLOR: #008000">//改变背景色或背景图片:   
  2. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>WebBrowser1.OleObject.document.body.bgcolor := <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'#FF0000'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>;  
  3. WebBrowser1.OleObject.document.body.background := <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'...图片地址'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>;  
  4. <HR></PRE>  
  1. <PRE><SPAN style="COLOR: #008000">//操作有 ID 标签的对象:   
  2. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN>  
  3.   s: <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>string</STRONG></SPAN>;  
  4. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  5.   s := WebBrowser1.OleObject.document.getElementById(<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'span1'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>).innerText;  
  6.   ShowMessage(s);  <SPAN style="COLOR: #008000">//这是 span1 标签中的内容   
  7. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  
  8.   <SPAN style="COLOR: #008000">//或者:   
  9. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  s := WebBrowser1.OleObject.document.parentWindow.span1.innerText;  
  10.   ShowMessage(s);  <SPAN style="COLOR: #008000">//这是 span1 标签中的内容   
  11. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  
  12.   <SPAN style="COLOR: #008000">//隐藏它:   
  13. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  WebBrowser1.OleObject.document.parentWindow.span1.style.display := <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'none'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>;  
  14. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;</PRE>  
假如网页中有这样的内容:<span id="span1">这是 span1 标签中的内容</span>

  1. <PRE><SPAN style="COLOR: #008000">//获取网页源代码   
  2. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN>  
  3.   s: <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>string</STRONG></SPAN>;  
  4. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  5.   s := WebBrowser1.OleObject.document.body.innerHTML; <SPAN style="COLOR: #008000">//body内的所有代码   
  6. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  s := WebBrowser1.OleObject.document.body.outerHTML; <SPAN style="COLOR: #008000">//body内的所有代码, 包含body标签   
  7. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  s := WebBrowser1.OleObject.document.documentElement.innerHTML; <SPAN style="COLOR: #008000">//html内的所有代码   
  8. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;  
  9.   
  10. <HR></PRE>  
  1. <PRE><SPAN style="COLOR: #008000">//WebBrowser 中的右键菜单   
  2. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  
  3. <SPAN style="COLOR: #008000">//先要添加ApplicationEvents1,指定其Message事件   
  4. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>  
  5. <SPAN style="COLOR: #008000">//屏蔽右键菜单   
  6. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>procedure</STRONG></SPAN> TForm1.ApplicationEvents1Message(<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN> Msg: tagMSG; <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN> Handled: Boolean);  
  7. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  8.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>with</STRONG></SPAN> Msg <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>do</STRONG></SPAN>  
  9.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  10.     <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>if</STRONG></SPAN> <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>not</STRONG></SPAN> IsChild(WebBrowser1.Handle, hWnd) <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>then</STRONG></SPAN> Exit;  
  11.     Handled := (<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>message</STRONG></SPAN> = WM_RBUTTONDOWN) <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>or</STRONG></SPAN> (<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>message</STRONG></SPAN> = WM_RBUTTONUP) <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>or</STRONG></SPAN> (<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>message</STRONG></SPAN> = WM_CONTEXTMENU);  
  12.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;  
  13. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;  
  14.   
  15. <SPAN style="COLOR: #008000">//替换右键菜单   
  16. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>procedure</STRONG></SPAN> TForm1.ApplicationEvents1Message(<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN> Msg: tagMSG; <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN> Handled: Boolean);  
  17. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN> mPoint: TPoint;  
  18. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  19.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>if</STRONG></SPAN> IsChild(WebBrowser1.Handle, Msg.Hwnd) <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>and</STRONG></SPAN>  
  20.      ((Msg.Message = WM_RBUTTONDOWN) <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>or</STRONG></SPAN> (Msg.Message = WM_RBUTTONUP)) <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>then</STRONG></SPAN>  
  21.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  22.       GetCursorPos(mPoint);  <SPAN style="COLOR: #008000">//得到光标位置   
  23. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>      PopupMenu1.Popup(mPoint.X, mPoint.Y);   <SPAN style="COLOR: #008000">//弹出popupmenu1的菜单   
  24. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>      Handled:=True;  
  25.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;  
  26. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;  
  27. <HR></PRE>  
  1. <PRE><SPAN style="COLOR: #008000">//新页面写入   
  2. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  3.   WebBrowser1.Navigate(<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'about:blank'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>);  
  4.   WebBrowser1.OleObject.Document.Writeln(<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">'ok'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>);  
  5. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;  
  6.   
  7. <SPAN style="COLOR: #008000">//从流中写入:   
  8. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN>  
  9.   ms: TMemoryStream;  
  10. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  11.   ms := TMemoryStream.Create;  
  12.   Memo1.Lines.SaveToStream(ms);  
  13.   ms.Position := <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff">0</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>;  
  14.   (WebBrowser1.Document <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>as</STRONG></SPAN> IPersistStreamInit).Load(TStreamAdapter.Create(ms));  
  15.   ms.Free;  
  16. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;  
  17.   
  18. <SPAN style="COLOR: #008000">//禁止提示脚步错误   
  19. </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>procedure</STRONG></SPAN> TForm1.WebBrowser1NavigateComplete2(ASender: TObject;  
  20.   <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>const</STRONG></SPAN> pDisp: IDispatch; <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN> URL: OleVariant);  
  21. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  
  22.   WebBrowser1.Silent := True;  
  23. <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;  
  24.   
  25. 以上转自<A id=Header1_HeaderTitle class=headermaintitle href="http://www.cnblogs.com/del/" target=_blank>万一的 Delphi 博客</A><SPAN style="COLOR: #008000"></SPAN></PRE><PRE><SPAN style="COLOR: #008000">//禁止弹出窗口</SPAN></PRE><PRE><SPAN style="COLOR: #008000"><STRONG></STRONG></SPAN><STRONG><SPAN style="COLOR: #000080">procedure</SPAN></STRONG> TForm1.wb1NewWindow2(ASender: TObject; <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN> ppDisp: IDispatch; </PRE><PRE><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN> </PRE><PRE>Cancel: WordBool);</PRE><PRE><SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>  </PRE><PRE>  Cancel := True;<SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>  </STRONG></SPAN></PRE><PRE><SPAN style="COLOR: #000080"><STRONG>  Wb1.OleObject.document.parentWindow.execScript('window.alert=null;','JavaScript');   
  26.   Wb1.OleObject.document.parentWindow.execScript('window.open=null;','JavaScript');  
  27.   Wb1.OleObject.document.parentWindow.execScript('window.close=null;','JavaScript');  
  28.   Wb1.OleObject.document.parentWindow.execScript('window.showModalDialog=null;','JavaScript');  
  29.   Wb1.OleObject.document.parentwindow.execscript('function confirm() {return true;}','Javascript');//自动点击确认框</STRONG></SPAN></PRE><PRE><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;   
  30. </PRE><PRE><SPAN>获取网页所有框架的源代码:</SPAN>  
  31. </PRE><PRE>function GetSources(FWB:TWebbrowser):String;  
  32. var       
  33.   i               : Integer;  
  34.   title           : string;  
  35.   s               : string;  
  36.   ole_index       : OleVariant;  
  37.   frame_dispatch  : IDispatch;  
  38.   frame_win       : IHTMLWindow2;  
  39.   doc2            : IHTMLDocument2;  
  40. begin  
  41.   try         
  42.     Result := '';  
  43.     s     := title+(FWB.Document as Ihtmldocument2).body.outerHTML;  
  44.     doc2  := FWB.Document as IHTMLDocument2;  
  45.     if doc2.Frames.length>0 then  
  46.     begin  
  47.       for i :=0 to doc2.Frames.length-1 do  
  48.       begin  
  49.         ole_index      := i;  
  50.         frame_dispatch := doc2.Frames.Item(ole_index);  
  51.         if Assigned(frame_dispatch) then  
  52.         begin  
  53.           frame_win := frame_dispatch as IHTMLWindow2;  
  54.           frame_doc := frame_win.document;  
  55.           if Assigned(frame_doc.body) then  
  56.             s       := s+IHTMLDocument2(frame_doc).body.outerHTML;</PRE><PRE>        end;  
  57.       end;</PRE><PRE>    end;  
  58.     Result := s;  
  59.   except  
  60.   end;  
  61. end;</PRE><PRE>注:需要引用mshtml,这里只涉及到含有一层框架,如果有多层框架自己去扩充即可;同理利用相同方法可以获取所有框架的超链接、图片等信息。  
  62.   
  63. </PRE>  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
超酷极面全景画50幅(代码)
怎样给网页里贴音乐
[分享]大牛市里赚到钱的真功夫就是如何持股
修改一篇网页//节省50%代码
html常用的语法命令
常用的Flash文章框
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服