반응형
> TWebBrowser을 이용하여 Custom 웹브라우저를 만들었습니다.
> 그런데 한가지 미해결 문제는
> java Script에서 window.open()으로 새로운 문서를 열 때
> 기존에 가지고 있던 Cookie값이 새 창으로 전달이 되지 않는 것입니다.
>
> Internet Explorer에서 새창으로 열면 단일 Explorer 모듈이 두개의 창을
> 관리하도록 되어 있어 Cookie값이 정상적으로 연결되어 지는데,
>
> TWebBrowser에서는 새로운 Internet Explorer를 실행하여 새창을
> 열기 때문에 Cookie값이 정상적으로 공유가 되지 않는 것 같습니다.
>
> 이 문제를 해결할 방법이 있을까요 ?.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw;
type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
procedure FormCreate(Sender: TObject);
procedure WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.howto.pe.kr');
end;
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
var
newweb: TWebBrowser;
begin
newweb := TWebBrowser.Create(Self);
newweb.ParentWindow := Self.Handle;
ppDisp := newweb.DefaultDispatch;
end;
end.
반응형