crossplatform.ru

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


  Ответ в QWebFrame переставляет тэги в html и "обрезает" его
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Lemur Дата 21.2.2011, 14:49
 
Цитата(kwisp @ 21.2.2011, 9:18) *
Цитата(Lemur @ 20.2.2011, 20:10) *
Что произошло? Можно ли с этим бороться?

можно предположить что WebKit не показывает тебе документ полностью. цель этого возможно экономия ресурсов.
могу предложить опискать в файле то что тебе нужно с помощью QRegExp ...


Гм...странно, для чего тогда метод фрейма toHtml() нужен. И ещё лично для меня интересный момент - почему-то когда загружаешь методом load() веб-вью какую-то страницу, она отлично отображаеться через show(), однако получить доступ к коду этой странице через toPlainText() или toHtml() я не могу.
kwisp Дата 21.2.2011, 10:18
 
Цитата(Lemur @ 20.2.2011, 20:10) *
Что произошло? Можно ли с этим бороться?

можно предположить что WebKit не показывает тебе документ полностью. цель этого возможно экономия ресурсов.
могу предложить опискать в файле то что тебе нужно с помощью QRegExp ...
Lemur Дата 20.2.2011, 20:10
  Доброе время суток.
Я ньюб в C++ и Qt, прошу отнестись с пониманием. Есть html страница со сложным форматированием(например http://www.vsetv.com/schedule_package_uaba...011-02-21.html). Сохраняю на винте и запихиваю в QWebFrame. Через QWebView страница выводиться нормально(ничего не отрезано). Однако если вывести содержимое с QWebFrame на QDebug() или сделать поиск тэгов(findAll), то становиться ясно что во первых хтмл сильно порезан(фактически только начало файла), во-вторых вебфрэйм самовольно расставил завершающие тэги совершенно, не там, где они находились в оригинальном хтмл. Что произошло? Можно ли с этим бороться? Мне удобно было бы искать элементы по html именно таким образом. И вопрос вдогонку, не совсем по теме: какое ограничение по выводу на экран есть у qDebug()? сколько символов? Спасибо!

    QWebView webView;
    QWebFrame *frame = webView.page()->mainFrame();    
    frame->setHtml(stringFromFile);
    qDebug() << "frame html value: " << frame->toHtml();


    QWebElement document = frame->documentElement();

    QWebElementCollection collection = document.findAll("tr");
    foreach (QWebElement paraElement, collection) {

         qDebug() << "> Element value <: " << paraElement.toOuterXml();
     }

    webView.show();
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 12:50