如何在WebBrowser1控件直接顯示memo1裏面的代碼
procedure writeHTML(WebInfo:TWebBrowser;text:String);
var
HTMLDoc: IHTMLDocument2;
v:Variant;
begin
WebInfo.Navigate('about:blank', EmptyParam, EmptyParam, EmptyParam, EmptyParam);
while WebInfo.ReadyState <> READYSTATE_COMPLETE do
begin
Application.ProcessMessages;
Sleep(0);
end;
if Assigned(WebInfo.Document) then
begin
HTMLDoc := WebInfo.Document as IHTMLDocument2;
v := VarArrayCreate([0, 0], varVariant);
v[0] := text; // Here's your HTML string
HTMLDoc.clear;
HTMLDoc.Write(PSafeArray(TVarData(v).VArray));
HTMLDoc.Close;
v:=Unassigned;
end;
end;
//以流方式加載數據到WebBrowser控件
procedure LoadStream(WebBrowser: TWebBrowser; Stream: TStream);
var
PersistStreamInit: IPersistStreamInit;
StreamAdapter: IStream;
MemoryStream: TMemoryStream;
begin
WebBrowser.Navigate('about:blank');
repeat
Application.ProcessMessages;
Sleep(0);
until (WebBrowser.ReadyState = READYSTATE_COMPLETE) and (Not WebBrowser.Busy);
if WebBrowser.Document.QueryInterface(IPersistStreamInit,
PersistStreamInit) = S_OK then
begin
if PersistStreamInit.InitNew = S_OK then
begin
MemoryStream:= TMemoryStream.Create;
try
MemoryStream.CopyFrom(Stream, 0);
MemoryStream.Position:= 0;
except
MemoryStream.Free;
raise;
end;
StreamAdapter:= TStreamAdapter.Create(MemoryStream, soOwned);
PersistStreamInit.Load(StreamAdapter);
//以下代碼用於屏蔽經常出現的網頁腳本執行錯誤
(WebBrowser.Document as IHTMLDocument2).body.insertAdjacentHTML('afterbegin',
'<SCRIPT For=''window'' Event=''onerror''>var noOp = null;</SCRIPT>');
end;
end;
end;
var
HTMLDoc: IHTMLDocument2;
v:Variant;
begin
WebInfo.Navigate('about:blank', EmptyParam, EmptyParam, EmptyParam, EmptyParam);
while WebInfo.ReadyState <> READYSTATE_COMPLETE do
begin
Application.ProcessMessages;
Sleep(0);
end;
if Assigned(WebInfo.Document) then
begin
HTMLDoc := WebInfo.Document as IHTMLDocument2;
v := VarArrayCreate([0, 0], varVariant);
v[0] := text; // Here's your HTML string
HTMLDoc.clear;
HTMLDoc.Write(PSafeArray(TVarData(v).VArray));
HTMLDoc.Close;
v:=Unassigned;
end;
end;
//以流方式加載數據到WebBrowser控件
procedure LoadStream(WebBrowser: TWebBrowser; Stream: TStream);
var
PersistStreamInit: IPersistStreamInit;
StreamAdapter: IStream;
MemoryStream: TMemoryStream;
begin
WebBrowser.Navigate('about:blank');
repeat
Application.ProcessMessages;
Sleep(0);
until (WebBrowser.ReadyState = READYSTATE_COMPLETE) and (Not WebBrowser.Busy);
if WebBrowser.Document.QueryInterface(IPersistStreamInit,
PersistStreamInit) = S_OK then
begin
if PersistStreamInit.InitNew = S_OK then
begin
MemoryStream:= TMemoryStream.Create;
try
MemoryStream.CopyFrom(Stream, 0);
MemoryStream.Position:= 0;
except
MemoryStream.Free;
raise;
end;
StreamAdapter:= TStreamAdapter.Create(MemoryStream, soOwned);
PersistStreamInit.Load(StreamAdapter);
//以下代碼用於屏蔽經常出現的網頁腳本執行錯誤
(WebBrowser.Document as IHTMLDocument2).body.insertAdjacentHTML('afterbegin',
'<SCRIPT For=''window'' Event=''onerror''>var noOp = null;</SCRIPT>');
end;
end;
end;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.