我可以让Qwebkit打开(在标签中)多于一个QwebView或其他东西。 ,每个人都将拥有自己的cookies并打开自己的会话。 我喜欢能够最终打开多个电子邮件,并在一个浏览器中查看它们我可以打开更多的QWebView的一个实例,它将模拟打开N个浏览器吗?
1
A
回答
4
QWebView不处理自己的Cookie。取而代之的是,工作被卸载到传入每个QWebPage的QNetworkAccessManager,尽管我目前不知道QWebView是否为每个QWebView设置了相同的QNeworkAccessManager,或者如果它使用不同的QWebViewAccessManager,后者可能看起来很糟糕。
您可以使用QWebPage::networkAccessManager()来抓取负责QWebPage的QNetworkAccessManager和QWebPage::setNetworkAccessManager来设置它。
使用QNetworkAccessManager::cookieJar()可以获得QNetworkCookieJar的句柄,该句柄负责为给定的QNetworkAccessManage管理Cookie。
因此,如果您创建QWebView的不同实例或直接明智地使用QNetworkAccessManager的不同实例,则可以使用不同的Cookie会话/罐子创建不同的浏览器视图,并实现您所期望的结果。
1
我知道这个问题已经过了一年多了,但我想我会发布一些代码来设置多个会话。
QWebView webView = new QWebView();
QNetworkCookieJar cookieJar = new QNetworkCookieJar();
QNetworkAccessManager nam = new QNetworkAccessManager();
nam.setCookieJar(cookieJar);
webView.page()->setNetworkAccessManager(nam);
使用此代码,您可以创建多个会话,甚至在自己的类封装此代码,只是实例化的类的实例,以便能够在应用程序中有多个自包含的Web浏览器会话。
相关问题
- 1. 从QWebView打开外部浏览器
- 2. 控制打开的浏览器实例
- 3. 我可以打开一个新的浏览器窗口,最小化打印对话框已打开吗?
- 4. 我可以关闭我打开的浏览器活动吗?
- 5. 打开多个浏览器选项卡,但只有一个将打开
- 6. grunt-php任务弹出打开多个浏览器实例
- 7. 从$ ajax打开浏览器实例
- 8. 即使浏览器打开它,打开Uri不会打开url
- 9. 打开多个实例
- 10. 哪个SmartTV可以在开机时打开浏览器?
- 11. 在浏览器上打开一个WebResponse
- 12. 的Android的WebView不能打开一个URL,但手机浏览器可以打开它
- 13. 我可以在本地浏览器中打开XSS吗?
- 14. 我们可以在浏览器中打开android apk吗?
- 15. 是否可以从当前浏览器打开另一个Web浏览器
- 16. 在Phonegap中打开儿童浏览器的许多实例
- 17. 将模式窗口打开浏览器滚动条打开
- 18. 我可以强制浏览器下载PDF文件而不是打开它吗?
- 19. 一次只展开“一个”单元格吗?目前我可以打开多个
- 20. 打开窗口,浏览它
- 21. 尽管默认浏览器打开另一个浏览器
- 22. MySql连接,我可以打开它吗?
- 23. listView有一个IllegalStateException - 在打开屏幕之前打开一个浏览器。
- 24. 无法使用硒网格打开多个实例的浏览器
- 25. 打开NSWindow的多个实例
- 26. 的Process.Start打开多个实例
- 27. 试图打开的Chrome浏览器一个新的标签,但它没有打开一个新标签
- 28. 无法在Android模拟器的浏览器中打开谷歌
- 29. fancybox可以打开表单类的多个实例
- 30. 用我的cookies打开一个Selenium浏览器
好的谢谢,但这是高层次,你可以请直接给我一些关于这个问题的教程 – user63898 2011-01-21 14:25:48