我需要一些关于安卓的WebView的帮助。我试图创建一个应用程序,加载一个网页,我不能改变。该网页确实加载了许多javascript文件,我试图覆盖其中一个现有对象的行为。问题是,在其中一个脚本中,该对象将使用构造函数进行初始化,并被重置,如下所示:
obj.init();//invokes the method in my ObjInterface class which I inject
obj = new ObjectClass();
obj.init();//invokes the original ObjectClass method通过这一行,我的接口不再被调用,obj按默认方式运行。我把这个旗子设置好了:
settings.setJavaScriptEnabled(true);
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
settings.setDomStorageEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setAllowFileAccess(true);我怎样才能做到这一点?问候
发布于 2022-06-28 09:29:40
我不能完全理解你的问题。您是否试图注入整个javascript类?
不知道你是否可以,但你有没有尝试注入转换字符串?就像这样:
inner class BaseWebViewClient : WebViewClient() {
override fun onPageFinished(view: WebView, url: String) {
super.onPageFinished(view, url)
view.loadUrl("javascript: $yourCode")
}
}希望这能帮上忙
https://stackoverflow.com/questions/72783557
复制相似问题