Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QWebKit & document.referrer
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Script. Интеграция WebKit
kerdster
Добрый день.

У меня случился затык, никак не получается установить изначальный реферер для явы при загрузке страницы в QWebView.
Пробовал разными способами, такими как например
web_view->page()->mainFrame()->evaluateJavaScript("document.referrer = 'http://olololo.com/';");

Или так:
web_view->page()->mainFrame()->documentElement().setAttribute("referrer","http://olololo.com/");


В разных слотах QWebView - urlChanged, LoadStarted и т.д.

Как можно решить проблему? Или вообще есть способы поменять какие-то свойства объекта document на странице?
igor_bogomolov
Цитата(kerdster @ 26.1.2011, 12:34) *
Как можно решить проблему? Или вообще есть способы поменять какие-то свойства объекта document на странице?
Есть конечно. И судя по коду ты правильно всё делаешь. Вот только менять атрибуты нужно после того как страница будет полностью загружена.
Т.е. сначала подписываешься на сигнал завершения загрузки страницы
    web_view->load(QUrl("./index.html"));
    connect(web_view, SIGNAL(loadFinished(bool)), this, SLOT(finish(bool)));
И в слоте, когда вся страница будет загружена, устанавливаешь нужный атрибут
void MainWindow::finish(bool ok)
{
    web_view->page()->mainFrame()->documentElement().setAttribute("referrer","http://olololo.com/");
    qDebug() << web_view->page()->mainFrame()->documentElement().attribute("referrer") << ok;
}
kerdster
Спасибо за ответ!
Но будет ли в этом случае работать если ява захочет реф узнать прямо в процессе загрузки, например:
document.write(document.referrer);

?
igor_bogomolov
Цитата(kerdster @ 26.1.2011, 13:44) *
Но будет ли в этом случае работать если ява захочет реф узнать прямо в процессе загрузки, например:
Понятия не имею. Просто нужно попробовать. Я далек от веб разработки и не совсем понимаю какого эфекта добиваетесь.
Если что то не получится, описывай задачу более подробно и приложи минимальный компилируемый пример, попробуем разобраться
kerdster
Разобрался!
Это я дурак, при запросе через QNetworkRequest с установкой заголовка реферера всё ОК с явой! Она берёт его оттуда =)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.