在delphi中使用FCKeditor,有时出现JS脚本错误80020101,以及FCKedito未定义,有时又正常。
解决办法判断doc.readyState
if doc.readyState='complete' then
begin
//0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载。
//1-LOADING:加载程序进行中,但文件尚未开始解析。
//2-LOADED:部分的文件已经加载且进行解析,但对象模型尚未生效。
//3-INTERACTIVE:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。
//4-COMPLETED:文件已完全加载,代表加载成功。
end;
readyState是complete状态才执行。
在WebBrowser的OnDocumentComplete,OnNavigateComplete2中doc.readyState都有可能为INTERACTIVE.
设置焦点
WebBrowser1.SetFocus;
with (WebBrowser1.Application as IOleobject) do
DoVerb(OLEIVERB_UIACTIVATE, nil, WebBrowser1, 0, Handle, GetClientRect);