ちょこっとハマったのでメモ。

HTMLにjQueryの

$(document).ready(〜);

を埋め込んでいたのだが、

String html = "{js埋め込んだhtml}";
WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null);

とやっても$(document).ready();部分が動かなかった。
一度ファイル化して、loadUrl()にすると動くようになった。

String html = "{js埋め込んだhtml}";

// ファイル化
FileOutputStream file = context.openFileOutput("hoge.html",
                Context.MODE_PRIVATE);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(file));
out.write(html);
out.flush();
out.close();
file.close();

WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
// 生成したファイルから読み込み
webView.loadUrl("file://" + getFilesDir() + "/hoge.html");

AndroidはWebViewだのカメラだの色々妙だ。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Name *
Email *
Website

*