相关疑难解决方法(0)

来自资产的Android WebView JavaScript

如何在资源文件夹(或任何本地资源)中加载远程HTML页面上的JavaScript和图像?

javascript android assets local

25
推荐指数
1
解决办法
4万
查看次数

Android webview,在assets文件夹中加载javascript文件

我已经看过很多次这个问题,但仍然无法让我的代码工作.

我希望我的webview加载一些URL(比如www.google.com),然后应用一些存储的javascript assets/jstest.js,其中包含以下内容:

function test(){
document.bgColor="#00FF00"; //turns to green the background color
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试加载JS的地方:

@Override  
public void onPageFinished(WebView view, String url){
    view.loadUrl("javascript:(function() { "
                + " document.bgColor='#FF0000';" //turns to red the background color
                + " var script=document.createElement('script'); "
                + " script.setAttribute('type','text/javascript'); "
                + " script.setAttribute('src', 'file:///android_asset/jstest.js'); "
                + " script.onload = function(){ "
                + "     test(); "
                + " }; "
                + " document.getElementsByTagName('head')[0].appendChild(script); "
                + "})()"); 
} 
Run Code Online (Sandbox Code Playgroud)

我知道这里的javascript有效,因为背景颜色实际上变为红色,但由于某种原因它不会加载jstest.js.我认为问题可能在文件路径中(我确定javascript代码的每一行都是正确的),但它看起来对我来说是正确的.该文件位于正确的文件夹中.

我错过了什么?

编辑:

由于WebResourceResponse课程仅适用于API …

javascript android webview android-webview

16
推荐指数
1
解决办法
4万
查看次数

标签 统计

android ×2

javascript ×2

android-webview ×1

assets ×1

local ×1

webview ×1