2016-08-20 2 views
2

私のネイティブリアクションプロジェクトでは、私はWebViewを使用したいと思います。 HTMLは外部のCSSファイルを参照し、CSSファイルはカスタムフォントを参照します。このhierarki考えるWebViewがCSSとフォントファイルを正しく読み込むために、どのWebベースにWebViewを与える必要がありますか?

私はファイル "mycss.css" および "フォント/" フォルダと私はbaseUrlに使用whould何 を置くべき
app/ 
app/index.ios.js 
app/android.ios.js 
app/package.json 
app/node_modules 
app/android/ 
app/ios/ 

? iosとアンドロイドのビルドをビルドするときに、パッケージマネージャはCSSファイルとフォントファイルを自動的にインクルードしますか? iOSのWebViewの背後にあるコードを調べる

<WebView style={{flex: 1}} 
      source={ { html: my_html, 
         baseUrl: ???} } /> 

baseUrlUIWebViewに渡されることを示しています。このStackOverFlowの質問How can I add an external stylesheet to a UIWebView in Xcode?は、Objective CからbaseUrlを設定する方法を示していますが、Native Reactで同等のものは何ですか?

NSURL *mainBundleURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; 
[self.webView loadHTMLString:htmlString baseURL:mainBundleURL]; 

FWIW私はiOSで開発しています(しかし、うまくいけば両方のプラットフォームでこの作業を行う方法があります)。

答えて

2

次のように動作しました。

フォルダwebを追加しましたし、この構造を使用:ベースURLとして

app/web/mycss.css 
app/web/fonts 

使用しweb/を。

パズルの最後の部分は、webフォルダをXCodeプロジェクトに追加することです(これはXCodeで行います)。それ以外の場合は、webフォルダ内のファイルは、iosデバイス用に構築されたバンドルに含まれません。

+0

私はこれをiOS上で動作させることができました...誰でもAndroid用の方法を知っていますか? –

+0

Androidで試したことがありません。 – soegaard

+0

@soegaard "my_html"文字列の内容を表示できますか? 画像にパスがどのように定義されているかを確認する必要があります。 – rajaishwary

関連する問題