我搜索了很多,但无法找到任何解决方案.我基本上在webview中使用突出显示文本等功能制作一个epub阅读器.我为此制作了一些javascript文件.但是要在html页面中添加js文件,我需要在html文件中定义它,如:
但由于html可以是任何文件,我必须使用其他方法加载文件.我试过用
view.loadUrl("javascript:loadScript('file:///android_asset/jquery.js','callback')");
但它没有加载我的js(我称它的一些功能,但它们没有工作).
我也尝试了this解决方案,但没有奏效.基本上,我只需要在webview上加载我的js文件,以便以后可以使用它的功能.这听起来像一个简单的任务,但我无法找到任何解决方案.有任何想法吗?
最佳答案
您将需要使用loadDataWithBaseURL作为您的目的.
更新:
我没有看到在任何地方加载到页面中的实际方法loadScript(),因此您可以在调用javascript:loadScript()之前尝试自己创建loadScript方法.
view.loadUrl("javascript:function loadScript(url,callback)" +
"{" +
" var head = document.getElementsByTagName('head')[0];" +
" var script = document.createElement('script');" +
" script.type = 'text/javascript';" +
" script.src = url;" +
" script.onreadystatechange = callback;" +
" script.onload = callback;" +
" head.appendChild(script);" +
"}");
view.loadUrl("javascript:loadScript('file:///android_asset/jquery.js','callback')");
原文地址:https://www.jb51.cc/android/431207.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。