javascript-在Android WebView中注入外部JS文件并调用它

我试图将我的外部JS文件(包含在资产目录中)注入WebView,然后再调用它.

这是我用来注入它的代码

webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        webView.loadUrl("javascript: (function() { "
            + "var script=document.createElement('script');"
            + "script.type='text/javascript';script.src='file://android_asset/js_demo.js';"
            + "document.getElementsByTagName('head').item(0).appendChild(script);"
            + "})()");
        webView.loadUrl("javascript: jsDemo()");
    }
});

当我打印Web视图的全部内容时,可以看到确实插入了带有src =’file://android_asset/js_demo.js’的脚本标签,但是调用函数jsDemo却无济于事.

注意:函数jsDemo包含在js_demo.js中,并且没有任何智能操作,只是更改了一些跨度的颜色.自从我在浏览器中测试它以来,它就可以正常工作.

我坚信我在给js文件提供路径时出错,但是我不确定如何更改它才能使其正常工作.任何帮助将不胜感激.

解决方法:

为什么不读文件并直接通过loadUrl(“ javascript:…)执行它呢?

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...