在WebView上加载的每个页面上注入JavaScript API

时间:2012-11-23 21:10:17

标签: android android-webview scorm

我正在编写一个离线Scorm播放器,因此需要在WebView实例加载的每个html页面上注入一个JavaScript API。 我尝试使用框架集方法,但WebView没有表现出它应该的方式(除此之外,它在HTML5中被弃用)。 我怎样才能做到这一点?我需要在页面加载之前注入脚本,因为那些html页面将使用主体onLoad事件上的API。

当试图覆盖' onPageStarted' WebViewClient方法,虽然事件被触发,但无法访问注入的JS代码。

提前致谢,                 巴勃罗

1 个答案:

答案 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>