使用TWebBrowser编辑和保存本地HTML文件

我正在尝试在TWebBrowser中加载本地HTML文件,编辑内容并保存。

我已阅读this文章中的一些建议,并尝试如下操作:

1)加载文档:

procedure TForm1.FormCreate(Sender: TObject);
begin
  WebBrowser1.Navigate('file:///C:\Tmp\input.html');
end;

2)将组件置于可编辑模式:

TWebBrowser.OnDocumentComplete事件处理程序中:

procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; const URL: OleVariant);
begin
  (WebBrowser1.Document as IHTMLDocument2).designmode := 'on';
end;

此时,该组件是可编辑的,我可以修改其文本。

3)保存编辑的文档:

procedure TForm1.Button1Click(Sender: TObject);
var
  Stream : TStringStream;
begin
  (WebBrowser1.Document as IHTMLDocument2).designmode := 'no';

  Stream := TStringStream.Create((WebBrowser1.Document as IHtmlDocument2).body.innerHTML);
  try
    Stream.SaveToFile('C:\Tmp\output.html');
  finally
    Stream.Free;
  end;
end;

在第一行,将引发EOleException

使用TWebBrowser编辑和保存本地HTML文件

英语应该是这样的:

无法获得designmode属性。参数无效

iCMS 回答:使用TWebBrowser编辑和保存本地HTML文件

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2148905.html

大家都在问