2016-11-02 45 views
0

我想将我的本地(from assets folderjs文件加载到webview中,但它一直在抛出错误Uncaught reference, method hello not found。但是,当我尝试以相同的方式加载HTML文件。无法在webview中加载没有html的javascript Android

内容我的js文件:

function hello(p1, p2) { 
    console.log(5 + 6); 
    return p1 * p2; 
}; 

我加载该文件到一个片段

webView = new WebView(getContext()); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.getSettings().setAllowFileAccess(true); 
     webView.setWebChromeClient(new WebChromeClient() { 
      @Override 
      public boolean onConsoleMessage(ConsoleMessage consoleMessage) { 
       Log.d("test--test--test--resp", consoleMessage.message()); 
       return super.onConsoleMessage(consoleMessage); 
      } 
     }); 
     webView.loadUrl("file:///android_asset/test.js"); 
     webView.addJavascriptInterface(this, ""); 

     webView.setWebViewClient(new WebViewClient() { 
      @Override 
      public void onPageFinished(WebView view, String url) { 
       super.onPageFinished(view, url); 
       webView.loadUrl("javascript:hello(1,2)"); 
      } 
     }); 

可有人请指出什么我失踪或者我怎么能正确地加载javascript文件,而不html

回答

0

嘿,经过几次实验后得到了答案。在webview中如果要运行/加载JS文件使用loadUrl方法没有html的JS文件的内容应该在 <script></script><script></script>标记。

相关问题