Функция выхода из системы в QWebView

Я разрабатываю приложение в Qt 4.8.1. Я пытаюсь разработать простой веб-браузер. Я хочу создать функцию выхода из системы на сайте.

Насколько я понимаю, необходимая информация хранится в файлах cookie. В webView->page()->networkAccessManager()->cookieJar() я не нашел очистку куки. Может быть, сессию нужно закрыть. Разве нет? Помогите мне создать функцию выхода из системы.


person NeedForS    schedule 26.10.2012    source источник
comment
QWebView уже является простым веб-браузером. И обычно веб-браузеры не отключают пользователей от веб-сайтов.   -  person divanov    schedule 26.10.2012
comment
Это реализовано на стороне сервера, а не на клиенте. Другими словами, QWebView не имеет к этому никакого отношения.   -  person Nikos C.    schedule 26.10.2012
comment
Если вы закроете веб-представление, а затем откроете новое веб-представление на том же сайте, сеанс будет закрыт. Как этого можно добиться, не закрывая webView?   -  person NeedForS    schedule 27.10.2012
comment
@NeedForS это зависит от того, как реализован сеанс. Для большинства сеансов на стороне сервера этого не произойдет, пока не будет достигнут тайм-аут сеанса. Для большинства файлов cookie этого не произойдет, пока не истечет срок действия файлов cookie.   -  person divanov    schedule 02.11.2012


Ответы (2)


Возможно, попробуйте удалить объект веб-страницы веб-просмотра и создать экземпляр объекта newPage. а потом webView->setPage(newPage);

person kingi    schedule 26.11.2012
comment
Спасибо. Это то, что я искал. - person NeedForS; 27.11.2012

Вам нужно будет имитировать выход из системы, используя оценку Javascript для объекта webPage->page()->mainFrame(). Например, вы можете создать такую ​​функцию для выхода из системы:

void Program::logout()
{
    webView->page()->mainFrame->evaluateJavaScript("websiteLogoutJavaScript();");
}

Конечно, измените JS в вызове оценки, чтобы он соответствовал процессу выхода из системы. Этот метод будет зависеть от того, как физически выйти из веб-сайта. Если это кнопка, вы можете вызвать событие щелчка на кнопке. Если это гиперссылка, ведущая на страницу выхода, вы можете просто перейти на страницу выхода. Это лишь некоторые предложения, но вам нужно будет изменить состояние DOM с помощью JavaScript.

person Cameron Tinker    schedule 28.10.2012