crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QWebView: не срабатывает loadFinished
good_game
  опции профиля:
сообщение 9.11.2012, 17:36
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 43
Регистрация: 18.8.2011
Пользователь №: 2815

Спасибо сказали: 1 раз(а)




Репутация:   0  


Доброе время суток, уважаемые форумчане.
Программа загружает страничку в WebView и парсит его DOM-дерево. Отлавливаю сигнал void QWebView::loadFinished ( bool ok ). Однако при загрузке некоторых страниц такой сигнал не выдаётся вообще. Такое происходит, например, если на странице есть ссылка на какой-нибудь файл-картинку, а доступа к интернету нет.
Пробовал соединять свой слот с сигналом от главного фрейма:
connect(ui->webView->page()->mainFrame() , SIGNAL(loadFinished(bool)), this, SLOT(loadFinished(bool)));

Это проблему не решило.
Как мне отловить момент, что DOM-дерево уже построено и теги WebView распарсил и пофигу, что какие-то картинки он не закачал? Какое-то событие типа DOMReady или OnReady есть у WebView?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
good_game
  опции профиля:
сообщение 15.11.2012, 10:11
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 43
Регистрация: 18.8.2011
Пользователь №: 2815

Спасибо сказали: 1 раз(а)




Репутация:   0  


Решил задачу своими силамию Если кому-то интересно, моё решение: создал класс, наследуемый от QNetworkAccessManager, переопределил в нём функцию отправки запросов. Сделал в ней фильтр: если запрашивется нелокальный ресурс, то запрос не выполнять. Далее экземпляр созданного класса подсовывается странице QWebView в качестве нового NetworkAccessManager-а.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 12:04