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 のアクセス許可)。

私のアプリはすでにリモート サイトにアクセスできていましたが、それが修正されるかどうかを確認するために、bar-descriptor.xml に access_internet を追加しましたが、修正されませんでした。

この問題の解決策を見つけようと探し回っていますが、まだ解決していません。

誰かがこれで私を助けることができれば、それは大歓迎です。

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


アップデート:

html を直接設定するようにコードを変更したところ、次のようになりました。

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

しかし、何も表示されません。ベース URL に対する相対パスが間違っているようです。

私のベース URL は次のとおりです: 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 に答える