如何在资源文件夹(或任何本地资源)中加载远程HTML页面上的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 …