欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Delphi中WebBrowser的使用技巧匯總

1>調用網(wǎng)頁(yè)中已知對象

src := WebBrowser1.OleObject.document.getElementByIdx(’id1′).src
其實(shí)就是javascript中的 getElementByID 的函數

2>獲得網(wǎng)頁(yè)中的某個(gè)變量值

Html中的代碼 : <script> var userID=123</script>
在delphi程序中這么調用
id := Form1.WebBrowser1.OleObject.Document.script.userID
userID變量可以是javascript定義的,也可以是vbscript定義的。如果Webbrowser1中找不到該變量,調用會(huì )觸發(fā)一個(gè)異常事件,即變量userID不存在

3>調用網(wǎng)頁(yè)中的函數

sRun := ‘userID = getNextID(userID)’+#13#10;
Form1.WebBrowser1.OleObject.Document.parentWindow.execScript(sRun,’JavaScript’);
調用函數的方法就是execScript接口。如果函數不存在,或者運行錯誤會(huì )觸發(fā)腳本錯誤異常

4>獲取頁(yè)面中所有的frame

//獲得frame對象數組frames
frames:=wb.OleObject.document.frames;
for i:=0 to frames.length do
memo1.lines.Add(frames[i].document.body.innerHTML);

5>如果頁(yè)面中存在iframe,如何判斷頁(yè)面是否完全下載結束

注意: 每個(gè)iframe下載完畢都會(huì )觸發(fā)DocumentComplete事件,所以一個(gè)頁(yè)面在真正下載完畢前可能被觸發(fā)多次!
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
if WebBrowser1.Application = pDisp then showmessage(’頁(yè)面已全部下載完畢’)
end;

6>WebBrowser的常見(jiàn)屬性和方法主要有

GoBack:方法,后退到上一個(gè)頁(yè)面。
GoForward:方法,前進(jìn)到下一個(gè)頁(yè)面。
GoHome:方法,調用默認的主頁(yè)頁(yè)面,該頁(yè)面在IE的選項中設定。
GoSearch:方法,調用默認的搜索頁(yè)面,該頁(yè)面在IE的選項中設定。
Navigate(const URL: WideString; var Flags, TargetFrameName, PostData,
Headers: OleVariant):方法,調用指定頁(yè)面,具體參數如下:
URL:指定頁(yè)面的URL。 Flags:Word類(lèi)型,作用還不清楚,可設為0。
TargetFrameName:WideString,打開(kāi)頁(yè)面所在的Frame,為空字符串時(shí)在當前的
Frame中打開(kāi);TargetFrameName指定的Frame存在時(shí)在Frame中打開(kāi);
TargetFrameName指定的Frame不存在時(shí)則新建一個(gè)窗口打開(kāi),此時(shí)就相當
于調用外部的IE瀏覽器了。
PostData:boolean,是否允許發(fā)送數據。
Headers:WideString,要發(fā)送的URL請求的頭部數據。
Refresh:方法,刷新當前頁(yè)面。
Stop:方法,停止調用或打開(kāi)當前頁(yè)面。
LocationName:屬性(WideString),當前位置的名稱(chēng)。
LocationURL:屬性(WideString),當前位置的URL。
Busy: 屬性(Boolean),是否正忙。
Visible: 屬性(Boolean),瀏覽器窗口是否可見(jiàn)。
(以下屬性為在TWebBrowser新增,TWebBrowser_V1中沒(méi)有,其作用有待探索)
StatusBar: 屬性(Boolean),是否顯示狀態(tài)欄。
StatusText: 屬性(WideString),狀態(tài)欄內容。
ToolBar: 屬性(SYSINT),工具欄中的內容。
MenuBar: 屬性(Boolean),是否顯示菜單條。
FullScreen: 屬性(Boolean),是否全屏顯示。
Offline: 屬性(Boolean),是否脫機瀏覽。
AddressBar: 屬性(Boolean),是否顯示地址欄。
TWebBrowser的常見(jiàn)事件主要有:
OnStatusTextChange = procedure(Sender: TObject; const Text: WideString) of object;
  在狀態(tài)欄提示信息變化時(shí)發(fā)生,參數Text為當前狀態(tài)欄提示信息,我們可以根據該信息
 來(lái)更新我們自己的狀態(tài)欄提示信息或處理其它的事務(wù).
OnProgressChange = procedure(Sender: TObject; Progress, ProgressMax: Integer) of object;
  在打開(kāi)頁(yè)面的進(jìn)度變化時(shí)發(fā)生,參數Progress為當前進(jìn)度,ProgressMax為總進(jìn)度,我們
 可以根據這兩個(gè)參數來(lái)更新我們自己的狀態(tài)欄提示信息或處理其它的事務(wù).
OnCommandStateChange = procedure(Sender: TObject; Command: Integer; Enable: WordBool) of object;
  當執行新的命令時(shí)發(fā)生,Command為命令標識,Enable為是否允許執行該命令.
OnTitleChange = procedure(Sender: TObject; const Text: WideString) of object;
  在頁(yè)面的標題發(fā)生變化時(shí)發(fā)生,Text為當前標題.
OnPropertyChange = procedure(Sender: TObject; const Property_: WideString) of object;
  在頁(yè)面的屬性發(fā)生變化時(shí)發(fā)生,Property_為屬性名稱(chēng)
OnDownloadComplete: TNotifyEvent
  在下載頁(yè)面完成后發(fā)生.
OnDownloadBegin: TNotifyEvent
  在下載頁(yè)面開(kāi)始前發(fā)生.

7>在webbrowser控件中顯示動(dòng)態(tài)html代碼

在uses中添加ActiveX
var
StrStream:TStringStream;
SetNoteStr: string;
begin
SetNoteStr :=’<body bgcolor=222222 align=center><br><p align=center><font size=+2 color=#FFFFFF>谷歌 http://www.google.com</font></p> ;
SetNoteStr :=SetNoteStr+’<br><p align=center><font size=+2 color=#FFFFFF>實(shí)現webbrowser控件中顯示動(dòng)態(tài)html的程序代碼</font></p>’;
StrStream:=TStringStream.Create(SetNoteStr);
WebBrowser1.Navigate(’about:blank’);
try
StrStream.Position:=0;
( WebBrowser1.Document as IPersistStreamInit).Load(TStreamadapter.Create(StrStream));
finally
StrStream.Free;
end;
end;

8>其它

初始化和終止化(Initialization & Finalization)

  大家在執行TWebBrowser的某個(gè)方法以進(jìn)行期望的操作,如ExecWB等的時(shí)候可能都碰到過(guò)“試圖激活未注冊的丟失目標”或“OLE對象未注冊”等錯誤,或者并沒(méi)有出錯但是得不到希望的結果,比如不能將選中的網(wǎng)頁(yè)內容復制到剪貼板等。以前用它編程的時(shí)候,我發(fā)現ExecWB有時(shí)侯起作用但有時(shí)侯又不行,在Delphi生成的缺省工程主窗口上加入TWebBrowser,運行時(shí)并不會(huì )出現“OLE對象未注冊”的錯誤。同樣是一個(gè)偶然的機會(huì ),我才知道OLE對象需要初始化和終止化(懂得的東東實(shí)在太少了)?!?/p>

 Initialization    OleInitialize(nil);   

finalization    

try     

OleUninitialize;    

except    

end;

 

 去掉滾動(dòng)條的方法:核心代碼:WebBrowser1.oleobject.Document.body.Scroll:= ‘no’; 利用這個(gè)代碼去掉滾動(dòng)條的前提是webbrowser中必須有打開(kāi)的網(wǎng)頁(yè),也就是在網(wǎng)頁(yè)加載完完畢后再去掉滾動(dòng)條。所以首先要判斷頁(yè)面是否加載完畢,如果加載完畢,就執行上面的語(yǔ)句去掉滾動(dòng)條。

第一步:在WebBrowser1DocumentComplete事件中置一個(gè)標志tag:=1(代表加載完畢) 代碼如下:

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;  

const pDisp: IDispatch;

var URL: OleVariant);

begin

tag:=1;  //去掉Webbrowser1滾動(dòng)條的標志

end;

第二步:

procedure TForm1.SpeedButton1Click(Sender: TObject);

var Doc: IHTMLDocument2;

begin

tag := 0; //去掉Webbrowser1滾動(dòng)條的標志

WebBrowser1.Navigate2(’http://www.163.com’);

while(tag=0)

do Application.ProcessMessages;

WebBrowser1.oleobject.Document.body.Scroll := ‘no’;

end;

注意:使用前必須在uses中加入mshtml;

==========================題外話(huà) //去掉滾動(dòng)條后如何翻頁(yè)呢?用如下代碼

var  Doc: IHTMLDocument2;

begin  

Doc :=WebBrowser1.Document as IHTMLDocument2;  

Doc.Get_ParentWindow.Scroll(x,y);

end;                          ^^^你要滾動(dòng)的位置

 

webbrowser不彈出錯誤提示框

設置一下這個(gè)屬性:webbrowser1.silent :=true

 

讓W(xué)ebbrowser中的鏈接點(diǎn)擊時(shí)在自身窗口打開(kāi)

 在WebBrowser的NewWindow2事件中設置代碼:

procedure TForm1.WebBrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;  

var Cancel: WordBool);

begin     // 將新視窗在自身開(kāi)啟        

ppdisp := webBrowser.Application;

end;

 

屏蔽WebBrower的右鍵菜單

放一個(gè)ApplicationEvents控件,在A(yíng)pplicationEvents的事件OnMessage中設置如下代碼: (ApplicationEvents控件在delphi中的additional選項卡上找)

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;   var Handled: Boolean);

begin      //屏敝網(wǎng)頁(yè)右鍵  

if Msg.message = WM_RBUTTONDOWN then

begin    

//如果去掉下面這行就是屏蔽右鍵菜單,現在為自定義右鍵菜單 //  

popupmenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);  

Handled := True;

end;  

end;

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
在Delphi程序中應用IE瀏覽器控件
『Delphi園地』
WebBrowser組件和MSHTML 在Delphi中的使用
Delphi模仿“千千靜聽(tīng)”滾動(dòng)標題欄,非常簡(jiǎn)單!
Delphi 6 程序員代碼編寫(xiě)標準指南一
WebBrows仿造Cookie | 學(xué)步園
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久