0

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

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

在此先感谢,巴勃罗

4

1 回答 1

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>
于 2012-11-23T21:34:44.117 回答