0

我正在尝试使动态生成的 html 5 图形显示在 Blackberry 10 Cascades 的 web 视图中。我已经确认了我生成的 html5,绘制了正确的图表。我的问题是,当我尝试在 Blackberry 10 Cascades Beta 3 SDK(使用 Blackberry 10 Dev Alpha Simulator)中实现这一点时,应该显示图表的 webview 看起来像这样:

错误:无法打开此文件。 检查您是否拥有正确的权限,然后重试。

以下是导致此错误的代码:

//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"));
}

我检查了该文件的权限,将它们全部设置为允许(知道 Unix 样式权限的人的权限为 777)。

我将 access_internet 添加到 bar-descriptor.xml 中,尽管我的应用程序已经能够访问远程站点,只是想看看这是否能解决它,但它没有。

我一直在寻找解决这个问题的方法,但我没有。

如果有人可以帮助我解决这个问题,将不胜感激。

-------------------------------------------------- -----


更新:

我更改了代码以直接设置html,现在我有了:

if (graphView_) {
    graphView_->setHtml(html_, QUrl("app/native/assets/data/chart.html"));
}

但什么都没有显示。相对于我的基本网址,我似乎有错误的相对路径。

我的基本网址是:QUrl("app/native/assets/data/chart.html")

我的相对路径都以:./Highcharts/js/...

我的相对路径位于:app/native/assets/data/Highcharts/js

在我看来,这应该可以工作,但是当我这样做时,我只是一个空白屏幕,好像它找不到我的相对路径。所以我也不知道这里发生了什么。

4

1 回答 1

2

我找到了一个可行的解决方案。我使用的是第一种方法,而不是更新的方法,而是

graphView_->setUrl(QUrl("app/native/assets/data/chart.html"));

我在用着:

graphView_->setUrl(QUrl("local:///assets/data/chart.html"));

而且我将其余代码保持不变,并且可以正常工作。

于 2012-11-28T19:58:30.817 回答