delphi WebBrowser的使用方法详解(三)
- <PRE>WebBrowser1.GoHome; <SPAN style="COLOR: #008000">//到浏览器默认主页
- </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>WebBrowser1.Refresh; <SPAN style="COLOR: #008000">//刷新
- </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>WebBrowser1.GoBack; <SPAN style="COLOR: #008000">//后退
- </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>WebBrowser1.GoForward; <SPAN style="COLOR: #008000">//前进
- </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">//打开指定页面
- </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">//打开空页面
- </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN><HR></PRE>
- <PRE><SPAN style="COLOR: #008000">//打开空页面, 并写入...
- </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:<head><title>标题</title><body>页面内容</body>'</SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>);
- <HR></PRE>
- <PRE><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"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>procedure</STRONG></SPAN> TForm1.Button1Click(Sender: TObject);
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN>
- s: <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>string</STRONG></SPAN>;
- i: Integer;
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>
- s := WebBrowser1.OleObject.document.Script.str;
- i := WebBrowser1.OleObject.document.Script.num;
- ShowMessage(s); <SPAN style="COLOR: #008000">//Hello
- </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
- </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></STRONG></SPAN> s := WebBrowser1.OleObject.document.parentWindow.str;
- i := WebBrowser1.OleObject.document.parentWindow.num;
- ShowMessage(s); <SPAN style="COLOR: #008000">//Hello
- </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
- </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>
假如网页中有这样的语句:
- <PRE><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"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>procedure</STRONG></SPAN> TForm1.Button1Click(Sender: TObject);
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>
- WebBrowser1.OleObject.document.parentWindow.MB(); <SPAN style="COLOR: #008000">//HTML-Js
- </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></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
- </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>
假如有这样的脚本:
- <PRE><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"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>procedure</STRONG></SPAN> TForm1.WebBrowser1DocumentComplete(ASender: TObject;
- <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);
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>
- <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>
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>
- Text := <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"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</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>
- <PRE><SPAN style="COLOR: #008000">//改变背景色或背景图片:
- </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>;
- 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>;
- <HR></PRE>
- <PRE><SPAN style="COLOR: #008000">//操作有 ID 标签的对象:
- </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>
- s: <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>string</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>
- 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;
- ShowMessage(s); <SPAN style="COLOR: #008000">//这是 span1 标签中的内容
- </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></STRONG></SPAN> s := WebBrowser1.OleObject.document.parentWindow.span1.innerText;
- ShowMessage(s); <SPAN style="COLOR: #008000">//这是 span1 标签中的内容
- </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></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>;
- <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>
- <PRE><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"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN>
- s: <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>string</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>
- s := WebBrowser1.OleObject.document.body.innerHTML; <SPAN style="COLOR: #008000">//body内的所有代码
- </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标签
- </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内的所有代码
- </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>;
-
- <HR></PRE>
- <PRE><SPAN style="COLOR: #008000">//WebBrowser 中的右键菜单
- </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN>
- <SPAN style="COLOR: #008000">//先要添加ApplicationEvents1,指定其Message事件
- </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></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);
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>
- <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>
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>
- <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;
- 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);
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</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>;
-
- <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"></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);
- <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;
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>
- <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>
- ((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>
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>
- GetCursorPos(mPoint); <SPAN style="COLOR: #008000">//得到光标位置
- </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的菜单
- </SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG></STRONG></SPAN> Handled:=True;
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</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>;
- <HR></PRE>
- <PRE><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"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</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>);
- 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>);
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;
-
- <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"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>var</STRONG></SPAN>
- ms: TMemoryStream;
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>
- ms := TMemoryStream.Create;
- Memo1.Lines.SaveToStream(ms);
- 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>;
- (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));
- ms.Free;
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;
-
- <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"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>procedure</STRONG></SPAN> TForm1.WebBrowser1NavigateComplete2(ASender: TObject;
- <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);
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>begin</STRONG></SPAN>
- WebBrowser1.Silent := True;
- <SPAN style="COLOR: #008000"></SPAN><SPAN style="COLOR: #008284"></SPAN><SPAN style="COLOR: #0000ff"></SPAN><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;
-
- 以上转自<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');
- Wb1.OleObject.document.parentWindow.execScript('window.open=null;','JavaScript');
- Wb1.OleObject.document.parentWindow.execScript('window.close=null;','JavaScript');
- Wb1.OleObject.document.parentWindow.execScript('window.showModalDialog=null;','JavaScript');
- Wb1.OleObject.document.parentwindow.execscript('function confirm() {return true;}','Javascript');//自动点击确认框</STRONG></SPAN></PRE><PRE><SPAN style="COLOR: #000080"><STRONG>end</STRONG></SPAN>;
- </PRE><PRE><SPAN>获取网页所有框架的源代码:</SPAN>
- </PRE><PRE>function GetSources(FWB:TWebbrowser):String;
- var
- i : Integer;
- title : string;
- s : string;
- ole_index : OleVariant;
- frame_dispatch : IDispatch;
- frame_win : IHTMLWindow2;
- doc2 : IHTMLDocument2;
- begin
- try
- Result := '';
- s := title+(FWB.Document as Ihtmldocument2).body.outerHTML;
- doc2 := FWB.Document as IHTMLDocument2;
- if doc2.Frames.length>0 then
- begin
- for i :=0 to doc2.Frames.length-1 do
- begin
- ole_index := i;
- frame_dispatch := doc2.Frames.Item(ole_index);
- if Assigned(frame_dispatch) then
- begin
- frame_win := frame_dispatch as IHTMLWindow2;
- frame_doc := frame_win.document;
- if Assigned(frame_doc.body) then
- s := s+IHTMLDocument2(frame_doc).body.outerHTML;</PRE><PRE> end;
- end;</PRE><PRE> end;
- Result := s;
- except
- end;
- end;</PRE><PRE>注:需要引用mshtml,这里只涉及到含有一层框架,如果有多层框架自己去扩充即可;同理利用相同方法可以获取所有框架的超链接、图片等信息。
-
- </PRE>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。