关于IE控件的保存问题(100分)

  • 主题发起人 主题发起人 linffengdelphi
  • 开始时间 开始时间
L

linffengdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用IE做控件,就是ActiveX的那个,

现在我要用数据流保存在这个控件中浏览的网页(就是想把它保存在我自己定义的一个文件格式中)

由于它没有数据流接口,不知道现在怎么做?

谢谢回答.
 
procedure TForm1.Button2Click(Sender: TObject);
var
idoc:IHtmlDocument2;
o:olevariant;
begin
idoc := WebBrowser1.Document as IHtmlDocument2;
o := idoc.all.item(varempty,0);
ShowMessage(o.outerhtml);
end;
o.outerhtml就是正在浏览的文件内容,得到了他,再转到
数据流中应该就没什么问题了吧。
 
请问IHtmlDocument2是怎么定义的,我在Delpi中好像找不到这个啊?

谢谢!
 
在MSHTML中(D5)
 
ShowMessage(o.outerhtml);执行后,显示的是空啊!!

后来我使用idoc.toString,结果写进的只是:"[object]"8个字节!!

你能不能具体一点,谢谢啦
 
执行是空可能还没有下载完毕,需要在
OnDocumentComplete里面用。
 
我试过了,可还是不行啊!输出还是空啊!还有o.outerhtml的格式是什么啊?

是不是文本啊?
你能不能写一个完整的程序,寄给我啊,万分感谢!
myemail:linffeng@263.net
 
ie5里,用下面的方法也可以得到网页内容
var
HTMLDocument: IHTMLDocument2;
PersistFile: IPersistFile;
begin
...
HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
Persist := HTMLDocument as IPersistFile;
Persist.Save(StringToOleStr('test.htm'), True);

while HTMLDocument.readyState <> 'complete' do
Application.ProcessMessages;
...
end;

 
例子已经发给你了,我怎么实验都是正确的。
注意在OnDocumentComplete中调用,不是在
OnDownloadComplete中调用。
 
DreamTiger的例子我已经收到了,先谢谢了。我也试了一下,我在OnDocumentComplete事件里调用,而不是在button中调用
问题就是:只有用文本的时候。showmessage才会显示出
浏览的内容,我也觉得很奇怪,我认为既然文本可以,那么
html照理说也应该可以的啊?!(浏览html显示确实是空的,我用
showmessage('s'+o.outerhtml+'s') 显示后,两个s是接在一起的);
另外hubdog的IPersistFile是那个单元的啊?呵呵,不好意思,不知道的太多了
 
ipersistfile
在activex.pas里定义的
 
多人接受答案了。
 
后退
顶部