2012-04-02 7 views
7

私は同じソースを使用してAndroidとiOS用に開発するPhonegapを試しています。Phonegap:Android、iOS、ブラウザの両方で絶対パスを使用する方法は?

私は次のように絶対パスを使用したいと思います:

background-image: url(/graphics/test.png);

が、これは、AndroidまたはiOS上では動作しません。

background-image: url(file:///android_asset/www/graphics/test.png);

もちろん、これは(アプリをテストするため)のブラウザでは意味がないとiOS上:

私は、Androidのために、私はのようなものを使用する必要があることが分かりました。

問題は、常に絶対パスを使用するフレームワークを使用していることです。

私は

は、すべてのプラットフォームで同じ絶対パスを使用するためにどのような方法があります... BASEタグを設定しようとしたが、それは仕事を得ることができませんでしたか?

+0

私はそれがあなたが望むようには機能しないが、なぜ絶対パスが必要なのか理解していますか?特に、CSSの背景画像では、ファイルがcss呼び出しと相対的な場所を知っていますか? – Devgeeks

+0

私が言及したフレームワークは多くのインクルードを使用しているので、スニペットやファイルは他のファイルに含まれています。このように、相対的な関係を維持することは非常に難しいので、フレームワークでは多くのリンクが絶対的です。私は他のWebプロジェクトでもフレームワークを使用しているので、リンクを同じに保つ方法があることを期待しています。 – Dylan

+0

私は同じ問題があります。 DroidGapビューでindex.htmlファイルを起動すると、ログにbaseUrl = file:/// android_asset/www /というメッセージが表示されますが、そのパスの下にあるファイルへの絶対パス参照は機能しません。 htmlで* base *タグを使って設定した場合、同じ結果が得られます。baseUrlは絶対パスに影響しないようです。 –

答えて

2

いいえ、絶対パスはすべてのプラットフォームで異なり、絶対パスを統一するためのプラグインや設定がないため、絶対パスは使用できません。

これは、使用しているフレームワークでこれを再度解決することをお勧めします。このフレームワークについての情報を提供していただければ、お手伝いできます。

また、ウェブからwwwディレクトリ(config.xmlの<content src="http://example.org" />)を配信することもできますが、これはアプリがインターネット接続でのみ動作することを意味します。

関連する問題