我可以讓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. 從$ ajax打開瀏覽器實例
- 5. 即使瀏覽器打開它,打開Uri不會打開url
- 6. 打開多個實例
- 7. 哪個SmartTV可以在開機時打開瀏覽器?
- 8. 在瀏覽器上打開一個WebResponse
- 9. 我可以在本地瀏覽器中打開XSS嗎?
- 10. 打開瀏覽器
- 11. 儘管默認瀏覽器打開另一個瀏覽器
- 12. listView有一個IllegalStateException - 在打開屏幕之前打開一個瀏覽器。
- 13. MySql連接,我可以打開它嗎?
- 14. 試圖打開的Chrome瀏覽器一個新的標籤,但它沒有打開一個新標籤
- 15. 無法在Android模擬器的瀏覽器中打開谷歌
- 16. fancybox可以打開表單類的多個實例
- 17. 我可以打開多個連接到HTTP服務器嗎?
- 18. 兩個瀏覽器在Selenium中打開
- 19. 以交互模式在Qwebview中打開打開
- 20. 刷新瀏覽器緩存打開它
- 21. Java僅打開JInternalFrame的一個實例
- 22. 我應該每次打開一個IDBDatabase還是保持一個實例打開?
- 23. 試圖在硒打開的瀏覽器中打開一個標籤
- 24. showModalDialog()在IE上打開一個新的瀏覽器,但在Firefox上不打開
- 25. 是否每個瀏覽器都打開一個新的HTTPSession
- 26. Load當瀏覽器打開
- 27. 打開窗口瀏覽器
- 28. 打開網絡瀏覽器
- 29. ActivityNotFoundException打開瀏覽器時
- 30. php打開瀏覽器
好的謝謝,但這是高層次,你可以請直接給我一些關於這個問題的教程 – user63898 2011-01-21 14:25:48