Я пытаюсь сделать так, чтобы динамически генерируемые графики html 5 отображались в веб-просмотре в Blackberry 10 Cascades. Я подтвердил HTML5, который я сгенерировал, рисует правильные графики. Моя проблема в том, что когда я пытаюсь реализовать это в Blackberry 10 Cascades Beta 3 SDK (с использованием Blackberry 10 Dev Alpha Simulator), веб-представление, которое должно показывать график, выглядит так:
Вот код, который приводит к этой ошибке:
//html_ already contains the html-5 code to make the graph at this point in the code
//This is the file path to a local file that is actually accessable in the emulator
//and not just from Windows
//
QFile *chartFile = new QFile("app/native/assets/data/chart.html");
if (chartFile->open(QIODevice::WriteOnly)) {
chartFile->write(html_.toUtf8());
chartFile->flush();
chartFile->close();
}
if (chartFile) delete chartFile;
if (graphView_) {
graphView_->setHtml("");
graphView_->setUrl(QUrl::fromLocalFile("app/native/assets/data/chart.html"));
}
Я проверил разрешения этого файла, поставил все они Разрешить (777 разрешений для тех, кто знает разрешения в стиле Unix).
Я добавил access_internet в bar-descriptor.xml, хотя мое приложение уже имело доступ к удаленным сайтам, просто чтобы посмотреть, исправит ли это, но это не так.
Я искал вокруг, пытаясь найти решение этой проблемы, но у меня нет.
Если бы кто-нибудь мог помочь мне с этим, это было бы очень ценно.
Обновить:
Я изменил код, чтобы установить HTML напрямую, теперь у меня есть это:
if (graphView_) {
graphView_->setHtml(html_, QUrl("app/native/assets/data/chart.html"));
}
Но ничего не показывает. Кажется, у меня неверный относительный путь относительно моего базового URL.
Моя базовая ссылка такова: QUrl («app / native / assets / data / chart.html»)
Все мои относительные пути начинаются с: ./Highcharts/js / …
Мои относительные пути находятся в: app / native / assets / data / Highcharts / js
Мне кажется, что у меня это должно работать, но когда я это делаю, у меня просто пустой экран, как будто он не может найти мои относительные пути. Так что я тоже не знаю, что здесь происходит.
Я нашел решение, которое работает. Я использую первый подход, не обновленный подход, а вместо
graphView_->setUrl(QUrl("app/native/assets/data/chart.html"));
Я использую:
graphView_->setUrl(QUrl("local:///assets/data/chart.html"));
И остальной код я оставил таким же, и он работает.
Других решений пока нет …