2017-10-11 5 views
0

JavaScriptを使用してCSSを操作するコードがあります。私は、ファイルへのオーバー私のコードを移動するときしかし、:アンドロイドに//アクセスをWebViewの中でWebアプリケーションを実行する方法をお勧めであるように思わとして、次のコードを実行しようとすると、私はエラーを取得する:WebViewのローカルファイルからJavaScriptを操作する方法

return document.styleSheets[0].cssRules[0].style 

値は "cssRules"は常にNULLです。予想外のことです。

私はthis fileを見つけましたが、これはChrome開発者が修正を拒否しているChromiumの「バグ」によるものと思われます。

これは実際に私が実行しているバグかどうか、もしあれば回避策があるのだろうかと思います。ローカルで実行しているときにWebViewのJavascriptからCSSを操作するにはどうすればよいですか?私はちょうどローカルに実行するという考え方を放棄すべきですか?私はこのような他のものが私をかむことになるかもしれないと恐れています。

webSettings.setAllowFileAccess(true); 

しかし、私は次のコードを追加する場合は、ローカルファイルへのアクセス上のすべてのセキュリティ上の制限を緩和し、私はJavaScriptからCSSにアクセスすることができる午前ことを発見:私のコードで

+0

が、これは違いを作る場合、私はわからないんだけど、ここでhttps://stackoverflow.com/questions/4950729/rendering-html-in-a-webview-with-custom-css – Prerna

+0

@Prerna解決策を見つけます私は現在sdcardディレクトリに自分の資産を格納しているので、更新する必要はありませんすべての小さな変更のために私のアプリを何度も何度も再インストールしてください。 – Michael

+0

@Prernaまた、loadDataWithBaseURLを見ると、このユースケースに適しているかどうかはわかりません。私は動的にjavascriptファイルとCSSを読み込み、動的にCSSを作成するHTMLを持っています。このアプローチは、私のWebアプリケーションの仕組みを完全に破壊する必要があるように見えます。 – Michael

答えて

0

私はすでに呼んでいた

if (Build.VERSION.SDK_INT >= 16) { 
     webSettings.setAllowFileAccessFromFileURLs(true); 
     webSettings.setAllowUniversalAccessFromFileURLs(true); 
    } 
関連する問題