0

オフラインのScormプレーヤーをコーディングしているので、WebViewインスタンスによって読み込まれるすべてのhtmlページにJavaScriptAPIを挿入する必要があります。フレームセットアプローチを使用しようとしましたが、WebViewは本来の動作をしません(それ以外は、HTML5では非推奨です)。どうすればこれを達成できますか?これらのhtmlページは本文のonLoadイベントでAPIを消費するため、ページが読み込まれる前にスクリプトを挿入する必要があります。

'onPageStarted' WebViewClientメソッドをオーバーライドしようとすると、イベントが発生しましたが、挿入されたJSコードに到達できませんでした。

よろしくお願いします、パブロ

4

1 に答える 1

0

以下のコードを使用してjavascripteverpageloadを挿入できます。お役に立てば幸いです。

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 に答える