Russian Qt Forum
Май 29, 2024, 09:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: WebView криво открывает локальные файлы  (Прочитано 7501 раз)
tester64
Гость
« Ответ #15 : Апрель 28, 2013, 19:13 »

Можно перехватывать начало загрузки и подменять адреса.

В main.cpp:
Код
C++ (Qt)
#include <QDeclarativeContext>
viewer.rootContext()->setContextProperty("rootPath", QCoreApplication::applicationDirPath());

В main.xml:WebView:
Код
Javascript
onLoadStarted: {
var sUrl = url.toString();
var rxHtmlResource = /^qrc:(.+\.html)$/;
if (rxHtmlResource.test(sUrl)) {
console.log(sUrl + " is html resource");
var path = rxHtmlResource.exec(sUrl)[1];
url = "file://" + rootPath + path;
console.log("redirected to " + url);
}
}
Записан
lighting
Гость
« Ответ #16 : Апрель 29, 2013, 09:53 »

tester64 спасибо за попытку помочь, но мне хочется не в данном конкретном случае найти обходной вариант, а разобраться из-за чего не работает вообще. Раз один и тот-же пример работает в одной сборке Qt но не работает в другой значил либо у меня проблемы с какими-нибудь настройками Qt либо это вообще проблема Qt 4.8.4 и выше, вот это и хочется выяснить, подмена адреса в этом врядли поможет.
Записан
tester64
Гость
« Ответ #17 : Апрель 30, 2013, 09:22 »

Раз один и тот-же пример работает в одной сборке Qt но не работает в другой значил либо у меня проблемы с какими-нибудь настройками Qt либо это вообще проблема Qt 4.8.4 и выше, вот это и хочется выяснить, подмена адреса в этом врядли поможет.

На Qt 4.8.4 под Linux проблема есть.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.076 секунд. Запросов: 17.