人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Android WebViewとJavaScriptの変数の受け渡しについて

ウェブビューで表示したサイトの<textarea>??</textarea>から内容を取り出して
アンドロイド側の変数に格納したいのですが上手くいきません。

とりあえず↓こんな感じで試してみましたがダメでした。

Eclipseで開発してるので構文エラーは無いはずです
どなたか解決策が分かれば教えてください。


WebSettings settings = webView.getSettings();
webView.getSettings.setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebViewClient(),"js");
webView.setWebViewClient(new WebViewClient());
webView.loadUrl(URL);
setContentView(webView);


public class WebViewClient extends WebViewClient {

String aaaa;

public String getTextArea(String textarea){
aaaa = textarea;
return aaaa;
}


public void onPageFinished(WebView view, String url){
webView.loadUrl("javascript:" +
"var scrptE = document.createElement(\"script\");"+

"scrptE.setAttribute(\"type\", \"text/javascript\"); "+

"var txt = document.createTextNode" +
"('function go() { js.getTextArea(forms[0].getElementsByTagName(\'textarea\')[0].value);}');" +
"js.getTextArea(textarea); }');"+

"scrptE.appendChild(txt);"+
"document.getElementsByTagName(\"head\")[0].appendChild(scrptE);");
}


webView.loadUrl("javascript:go();");

//aaaa = null


}

●質問者: koji_koji
●カテゴリ:コンピュータ ウェブ制作
✍キーワード: Class Android eclipse Go JavaScript
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Galapagos
●100ポイント ベストアンサー

>"('function go() { js.getTextArea(forms[0].getElementsByTagName(\'textarea\')[0].value);}');" +


この1行が間違っています。

textareaにIDを付けて、getElementByIdメソッドで取得するようにしてみてください。

◎質問者からの返答

>Galapagos

ご指摘のとおり、idをつけた後にgetElementByIdで変数を取得できました。

回答ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ