我正在编写一个离线Scorm播放器,因此需要在WebView实例加载的每个html页面上注入一个JavaScript API。 我尝试使用框架集方法,但WebView没有表现出它应该的方式(除此之外,它在HTML5中被弃用)。 我怎样才能做到这一点?我需要在页面加载之前注入脚本,因为那些html页面将使用主体onLoad事件上的API。
当试图覆盖' onPageStarted' WebViewClient方法,虽然事件被触发,但无法访问注入的JS代码。
提前致谢, 巴勃罗
答案 0 :(得分:0)
你可以使用下面的代码注入javascript everpageload,希望它有帮助
final WebView webview = (WebView)findViewById(R.id.webView1);
/* JavaScript must be enabled if you want it to work, obviously */
webview.getSettings().setJavaScriptEnabled(true);
/* WebViewClient must be set BEFORE calling loadUrl! */
webview.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url)
{
webview.loadUrl("javascript:myFunction()");
}
});
webview.loadUrl("http://code.google.com/android");
HTML
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
alert("Hello World!");
}
</script>
</head>
<body>
<button onclick="myFunction()">Try it</button>
</body>
</html>