BTAndroidWebViewSelection
BTAndroidWebViewSelection copied to clipboard
jquery is not working when loading dynamically
thank you for this project ,In my case i should load the javascript files dynamically after loading the html page instead of writing the script tag directly in the html file but i have problem with jquery.js an error message "undefined" on the log . this is a sample of code : this.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url)
{
/* This call inject JavaScript into the page which just finished loading. */
Log.d("call","call java script");
loadUrl("javascript:(function() { "
+
"var script=document.createElement('script');" +
"script.type='text/javascript';" +
"script.src='file:///android_asset/jquery.js';"
+
"document.getElementsByTagName('head').item(0).appendChild(script);"+
"})()");
....
}
please help me . }
);
You just read the content of html file and append the script code and then load into the webview. This methods works fine for me.
Script Code:
Can you show some code ?
int index=temp.indexOf("</body>"); // temp is the file content return in string
String s1=temp.substring(0, index);
String s2=temp.substring(index, temp.length());
File f=new File(filepath); // filepath is the file stored in sdcard path
webview.loadDataWithBaseURL("file://" + f.getParent() + "/", s1+"<script src='file:///android_asset/jquery.js'></script><script src='file:///android_asset/rangy-core.js'></script><script src='file:///android_asset/rangy-serializer.js'></script><script src='file:///android_asset/android.selection.js'></script>"+s2,"text/html", "UTF-8", null);