線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1280
推到 Plurk!
推到 Facebook!

如何像ie一樣儲存完整網頁

尚未結案
iamjsn
初階會員


發表:78
回覆:95
積分:44
註冊:2002-08-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-24 10:50:25 IP:203.204.xxx.xxx 未訂閱
如題,謝謝
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-24 12:41:27 IP:202.39.xxx.xxx 未訂閱
uses ActiveX;    procedure TForm1.Button1Click(Sender: TObject);
begin
  (WebBrowser1.Document as IPersistFile).Save('C:\test.htm', False);
end;
--- Everything I say is a lie. @>---
iamjsn
初階會員


發表:78
回覆:95
積分:44
註冊:2002-08-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-24 20:13:28 IP:203.204.xxx.xxx 未訂閱
我試了一下,這行程式碼好像只是將網頁的源始碼存下來,並不會像ie那樣把整頁所用的的物件,如頁面上的圖片,*.JS等物件都存下來,特別是遇到有frameset的網頁,例如http://dye.mychat.to/
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-24 21:25:32 IP:202.39.xxx.xxx 未訂閱
不過還沒找到如何不經對話方塊提示, 直接儲存的 :(
begin
  WebBrowser1.ExecWB(OLECMDID_SAVEAS,
                     OLECMDEXECOPT_DODEFAULT,
                     EmptyParam,
                     EmptyParam);
end;
有興趣的話, 參考: http://groups.google.com.tw/groups?hl=zh-TW&lr=&ie=UTF-8&oe=UTF-8&th=878502bb87a888e6&rnum=11 --- Everything I say is a lie. @>--- 發表人 - hagar 於 2003/12/24 21:26:35
iamjsn
初階會員


發表:78
回覆:95
積分:44
註冊:2002-08-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-24 22:07:56 IP:203.204.xxx.xxx 未訂閱
嗯嗯,就是這個啦,這就是我要的了,謝啦。 想順便再請問hager 大大一個問題, 如http://dye.mychat.to/gif/game/game-01.htm 不知要下載這網頁上的圖片,有沒有不用開啟網頁就下載網頁上連結的圖片的方法呢 我目前的直接想法是用webbrowser開啟網頁,然後利用其屬性去取得網頁中圖片的連結,最後再去下載,不過我怕有更簡單的方法能取得圖片連結,那我就虧大了,呵。所以想請教你一下有沒有不用開啟網頁,就能取得網頁中圖片連結的方法呢,謝謝
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-12-25 07:52:57 IP:202.39.xxx.xxx 未訂閱
小弟想應該是沒有吧, 以下是取得 WebBrowser 內所有的連結 資料來源: http://www.swissdelphicenter.ch/en/showcode.php?id=479
procedure TForm1.Button1Click(Sender: TObject); 
var 
  i: Integer; 
begin 
  for i := 0 to Webbrowser1.OleObject.Document.links.Length - 1 do 
    Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.Item(i)); 
end;     {*****************}     { if there are frames }     procedure TForm1.Button2Click(Sender: TObject); 
var 
  u : variant; 
  v : IDispatch; 
  s : string;       procedure RecurseLinks(htmlDoc: variant); 
  var 
    BodyElement : variant; 
    ElementCo: variant; 
    HTMLFrames: variant; 
    HTMLWnd : variant; 
    j, i : integer; 
  begin 
    if VarIsEmpty(htmlDoc) then 
      exit; 
    BodyElement := htmlDoc.body; 
    if BodyElement.tagName = 'BODY' then 
    begin 
      ElementCo := htmlDoc.links; 
      j := ElementCo.Length - 1; 
      for i := 0 to j do 
      begin 
        u := ElementCo.item(i); 
        s := u.href; 
        listLinks.Items.Add(s); 
      end; 
    end; 
    HTMLFrames := htmlDoc.Frames; 
    j := HTMLFrames.length - 1; 
    for i := 0 to j do 
    begin 
      HTMLWnd := HTMLFrames.Item(i); 
      RecurseLinks(HTMLWnd.Document); 
    end; 
  end; // RecurseLinks 
begin 
  v := WebBrowser1.document; 
  listLinks.Clear; 
  RecurseLinks(v); 
end; 
--- Everything I say is a lie. @>---
760729
一般會員


發表:32
回覆:51
積分:16
註冊:2004-09-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-09-29 17:21:43 IP:203.64.xxx.xxx 未訂閱
hagar 版主您好:    您所提供的 http://www.swissdelphicenter.ch/en/showcode.php?id=479 雖然可以取的 WebBrowser 內所有的連結, 但是對於 pop-up menu 的 URL 就無法取得, 不知是否就此程式修改後, 可以有解?        
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-04-26 13:51:27 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-20 0:26:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!