我想加载多个雅虎邮箱,
示例我在delphi中有多个选项卡,
第一个标签加载yahoo.com,
第二个标签也加载yahoo.com,
但是,当delphi Twebbrowser加载相同的url时,它们将加载相同的cookie,
所以第二个标签也加载相同的第一个标签电子邮件地址
如何在c:\tab1
中保存cookie并在c:\tab2'
中保存第二个标签的cookie?所以我可以通过yahoo.com的邮件获得一百个标签
我在谷歌搜索过,我知道IdCookieManager;
能够控制cookie,
但我找不到任何解决方案?
答案 0 :(得分:0)
TWebBrowser只是Internet Explorer ActiveX控件的一个薄包装器。因此,它使用Internet Explorer的cookie,缓存,设置等。您无法控制为每个TWebBrowser实例指定不同的文件夹。
答案 1 :(得分:0)
首先,我的回答是基于假设,您希望在沙盒中运行TWebBrowser
。
TWebBrowser
实际上是ActiveX control of MSIE的包装器。 MSIE有自己的网络通信实现,因此任何第三方框架(如Indy)都无法拦截/处理浏览器实例的网络通信。
SFAIK,TWebBrowser
将从注册表中读取MSIE的大部分设置。 (不是100%但接近,Feature Controls不包括在内)。 Cookie的位置也在注册表中定义。如果您无需从默认位置加载设置即可创建浏览器实例,则可以单独保存Cookie。
一种可行的方法是自定义ActiveX控件本身。一个好的起点IMO是创建TWebBrowser
类的下降并继承IDocHostUIHandler
接口。下一个重要的事情是覆盖GetOptionKeyPath
方法。以下是official document of the method,此处是code example供您参考。
浏览器自定义不是一件容易的事。我希望这些信息对您有所帮助。