crossplatform.ru

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


  Ответ в QWebKit & document.referrer
Введите ваше имя
Подтвердите код

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

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


Последние 10 сообщений [ в обратном порядке ]
kerdster Дата 26.1.2011, 13:59
  Разобрался!
Это я дурак, при запросе через QNetworkRequest с установкой заголовка реферера всё ОК с явой! Она берёт его оттуда =)
igor_bogomolov Дата 26.1.2011, 13:59
 
Цитата(kerdster @ 26.1.2011, 13:44) *
Но будет ли в этом случае работать если ява захочет реф узнать прямо в процессе загрузки, например:
Понятия не имею. Просто нужно попробовать. Я далек от веб разработки и не совсем понимаю какого эфекта добиваетесь.
Если что то не получится, описывай задачу более подробно и приложи минимальный компилируемый пример, попробуем разобраться
kerdster Дата 26.1.2011, 13:44
  Спасибо за ответ!
Но будет ли в этом случае работать если ява захочет реф узнать прямо в процессе загрузки, например:
document.write(document.referrer);

?
igor_bogomolov Дата 26.1.2011, 13:33
 
Цитата(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 Дата 26.1.2011, 12:34
  Добрый день.

У меня случился затык, никак не получается установить изначальный реферер для явы при загрузке страницы в 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 на странице?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.9.2022, 17:14