JQuery non funziona su WebView

Ho provato ad includere i file JQuery in risorse / script e su Internet, ma la finestra di avviso non viene visualizzata. Ho ottenuto l’output del registro e lo faccio output.html, funziona in Windows (così strano!). Qual è il problema con WebView?

public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView = (WebView) findViewById(R.id.webView); final String s = "" + "" + "" + "" + "" + "$(document).ready(function(){ alert('hello'); });" + "" + "
All I hear is raindrops." + "Falling on the rooftop. Oh baby tell me why you have to go. " + "Cause this pain I feel you won't go away. And today, " + "I'm officially missing you.
"; webView.getSettings().setJavaScriptEnabled(true); Log.d("Something", s); webView.loadDataWithBaseURL("file:///android_asset/", s, "text/html", "utf-8", null); }

Questo è l’output del registro dopo aver aggiunto l’estensione “.html”. Funziona su Firefox ma non su WebView. 🙁

      $(document).ready(function(){ alert('hello'); });   
All I hear is raindrops.Falling on the rooftop. Oh baby tell me why you have to go. Cause this pain I feel you won't go away. And today, I'm officially missing you.

 webView.loadDataWithBaseURL("file:///android_asset/", s, "text/html", "utf-8", null); 

essere cambiato in

 webView.loadDataWithBaseURL(getAssets(), s, "text/html", "utf-8", null); 

per ottenere il file delle risorse, è necessario accedere al percorso delle risorse dell’app. Un’app è un utente su Android, quindi non può accedere al percorso che inizia con la directory “file: //”.

Dovrai avere il file jquery.js nella cartella assets / scripts perché funzioni.

scripts / jquery-1.6.2.min.js

Questo dovrebbe funzionare

Come già accennato su Android WebView non carica jQuery :

Dove si trova lo script / jquery-1.6.2.min.js script? Se si trova nella directory delle risorse, è necessario inizializzare la visualizzazione Web assegnandole la directory delle risorse come baseUrl:

 webView.loadDataWithBaseURL("file:///android_asset/", data, "text/html", "UTF-8", null); 

o

 webView.loadUrl("file:///android_asset/file.html"); 

Potresti provare a creare un semplice file .js con una semplice funzione come

 function dummy(document) { document.write("Hooray it works"); } 

e prova ad accedere alla funzione dummy nel tuo html per verificare se il file .js è incluso.

setPluginsEnabled in Impostazioni WebView su true .

Immagino, alcune funzioni javascript come prompt e avvisi (popup di sistema), dovrebbero essere implementate dal tuo codice. Una semplice guida ..,

1. Creare una class Jscalls.java

 public class Jscalls { Context mContext; Jscalls(Context c) { mContext = c; } /** Show a toast from the web page */ public void alert(String toast) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); } } 

2. Nel tuo programma aggiungi , webView.addJavascriptInterface(new Jscalls(this), "Android");

3. Nelle pagine html , invece di alert("hello") , usa Android.alert("hello")

Spero funzioni 🙂

Ad esempio, dovresti dare il percorso completo per caricare javascript e css