BTAndroidWebViewSelection icon indicating copy to clipboard operation
BTAndroidWebViewSelection copied to clipboard

jquery is not working when loading dynamically

Open sirina opened this issue 11 years ago • 3 comments

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 . }

    );

sirina avatar Apr 24 '13 09:04 sirina

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:

spdeepa avatar Apr 27 '13 07:04 spdeepa

Can you show some code ?

sirina avatar Apr 28 '13 09:04 sirina

                            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);  

spdeepa avatar May 02 '13 05:05 spdeepa