JavaScript'i kullanmadan önce, önce Javascript'in etkinleştirildiğini veya uygulamanızda "getJavaScriptEnabled()" (Varsayılan FALSE) seçeneğini kullanmanız gerekir. Ve loadUrl() yöntemi sadece geçerli sayfayı sadece yüklemek için kullanılır. JavaScript ile ilgili hiçbir şey yapmaz.
ÖRNEK:
// Web görünümündeki başlatma
webView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
WebView'da Yükleme HTML
webView.loadUrl("file:///android_asset/testhtml.html");
Ayar WebChromeClient Web görünümü
için WebView kurma
webView.setWebChromeClient(new MyJavaScriptChromeClient());
MyJavaScriptChromeClient sınıfı Burada, JavaScript Uyarı İşlevini işlemek için onJsAlert() yöntemini geçersiz kılmak zorundayız.
private class MyJavaScriptChromeClient extends WebChromeClient {
@Override
public boolean onJsAlert(WebView view, String url, String message,final JsResult result) {
//handle Alert event, here we are showing AlertDialog
new AlertDialog.Builder(MainWebViewActivity.this)
.setTitle("JavaScript Alert !")
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new AlertDialog.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do your stuff
result.confirm();
}
}).setCancelable(false).create().show();
return true;
}
}
Benim Html Dosya
: testhtml.html:
<html>
<body >
<div onclick="alert('hello')"> Click Me !! </div>
</body>
</html>
Nasıl Çalışır? "Beni tıkla!" WebView tıklandığında, android işlevi onJsAlert (WebView görünümü, String url, String mesajı, son JsResult sonucu) denir. Uyarılacak parametre onJsAlert işlevinin mesaj parametresine kopyalanır. Ve işlemin geri kalanı orada yapılır. Burada bir AlertDialog görüntülüyoruz.
kimse ben, sayfanın aksi javascript denilen olmayacak yüklenmesi tamamlandıktan sonra javascript işlevini çağırmak gerekir yaptığı gibi bu herhangi bir sorun olması durumunda
plz da kadar oy benim cevap ... :) – Talha