我正在开发一个 IE BHO 来拒绝某些特定的 URL。当我找到一个目标 URL 时,我想在显示警告的网页上方打开一个 iframe。要查找用户的 URL,我使用了 BeforeNavigate2 事件。当我找到目标 URL 时,我将创建 iframe。所以现在的代码是:
procedure DoBeforeNavigate2(
const pDisp: IDispatch;
var URL: OleVariant;
var Flags: OleVariant;
var TargetFrameName: OleVariant;
var PostData: OleVariant;
var Headers: OleVariant;
var Cancel: WordBool
);
var
Document: IHTMLDocument2;
iFrame: IHTMLElement;
begin
Document:= IE.Document as IHTMLDocument2;
iFrame:= Document.createElement('iframe');
iFrame.setAttribute('src', 'http://www.google.com/', 0);
iFrame.setAttribute('id', 'iFrame', 0);
iFrame.setAttribute('style', 'position: fixed; left: 0px; top: 0px; border: 0px; width: 100%; height: 100%; background-color: white', 0);
end;
它应该在所有网站之上用 google.com 打开一个 iframe,但它只会使 IE 崩溃......有人可以帮我解决这个问题吗?谢谢!