0
WebViewでWebページを開き、ページが読み込まれた後にボタンをクリックすると自動的に表示されます。私は"javascript:$('#customer-info-edit').click();"
または"javascript:document.getElementById('customer-info-edit').click();"
両方の仕事の罰金を使用することができますWebViewでJavascriptが動作しない
public class WebViewFragment extends Fragment {
...
@Override
public void onResume() {
super.onResume();
openUrl();
}
private void openUrl() {
setCookies();
if (urlToOpen != null) {
//tell webview to handle redirects (by default browser launches on redirects)
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if (getActivity() != null)
((MainActivity) getActivity()).onShowLoading();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if (getActivity() != null) {
executeJS();
((MainActivity) getActivity()).onHideLoading();
}
}
});
if (javascriptToExecute != null) {
webview.getSettings().setJavaScriptEnabled(true);
}
webview.loadUrl(urlToOpen);
}
}
private void executeJS() {
System.out.println("executeJS(): " + javascriptToExecute);
webview.loadUrl(javascriptToExecute);
}
}
:これは私の現在のWebView
クラスです。
しかし、問題は1回だけ問題です。初めてWebViewを開くと、ボタンがクリックされます。しかし、私が物理的な戻るボタンを押してWebViewを再び開くと、ボタンはクリックされません。毎回Javascriptが動作しないのはなぜですか?
ブラウザでは、戻るボタンはキャッシュからのリロードをトリガーします。これはページの読み込みをトリガーするのではなく、以前の状態でリロードします。私はこれが同じ問題であるかどうかは言えませんが、Webビューを使用したことはありませんでしたが、このリンクではいくつかのオプションを試すことができます。あなたのページに直接関連するスクリプトを置くだけで... http://stackoverflow.com/questions/15791148/startup-javascript-code-is-not-executed-when-using-the-firefox-back-button – Archer