Я пытаюсь заставить приложение для Android работать с JavaScript. Я включил JavaScript. И я понятия не имею, почему это не работает, все исследования, которые я сделал, говорят, что это должно. Буду признателен за любую оказанную помощь.
Вот мой код Java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_PROGRESS);
getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
WebView webview = new WebView(this);
setContentView(webview);
setProgressBarVisibility(true);
webview.getSettings().setJavaScriptEnabled(true);
webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
final Activity activity = this;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
webview = new WebView(this);
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
});
setContentView(webview);
webview.loadUrl("http://www.example.com/droid/mobile_index.html");
return true;}
и вот JavaScript, с которым я пытаюсь взаимодействовать.
<script type="text/javascript">
function reply_click(clicked_name)
{
var clicked_name;
document.location="http://www.example.com/droid/updatescore.php?location=" + clicked_name;
}
</script>
У меня есть php-таблица, которая создается динамически. И для ячеек не всегда будет одно имя. Я использую JavaScript с DOM для получения переменной и передаю ее на новую веб-страницу как переменную внутри URL-адреса. Он работает отлично на моем браузере компьютера Однако не на моем телефоне. У меня включен JavaScript, но он не работает. Что я делаю не так? благодаря
Я нашел учебник, который ответил на мой вопрос, надеюсь, что он поможет http://examples.javacodegeeks.com/android/core/ui/webview/android-webview-example/
Не знаю, что вы притворяетесь именно с помощью onCreateOptionsMenu. Это будет код, который должен быть в onCreate
Таким образом, вы должны установить WebViewClient в методе onCreate.
Тогда ваш код должен выглядеть так:
private static WebView webView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_PROGRESS);
getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
webview = new WebView(this);
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
return false;
}
});
setProgressBarVisibility(true);
webview.getSettings().setJavaScriptEnabled(true);
webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
setContentView(webview);
final Activity activity = this;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
webview.loadUrl("http://www.example.com/droid/mobile_index.html");
return true;
}
Попробуй!