2012-11-23 67 views
0

我正在編寫一個離線Scorm播放器,因此需要在WebView實例加載的每個html頁面上注入JavaScript API。 我試圖使用框架設置方法,但WebView並不像它應該那樣(除此之外,它在HTML5中不贊成使用)。 我該如何做到這一點?我需要在頁面加載之前注入腳本,因爲這些html頁面將消耗正文onLoad事件上的API ..在WebView上加載的每個頁面上注入JavaScript API

嘗試重寫'onPageStarted'WebViewClient方法時,儘管事件已被觸發, JS代碼注入無法到達。

由於提前, 巴勃羅

+0

我太需要這個解決方案..請張貼的答案爲這個,如果你有解。 – deepa

回答

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> 
+0

body標籤的onLoad事件將消耗注入的JS,因此腳本必須存在 –

+0

您可以從webview調用該函數。你可以看看代碼,我編輯它。 – Talha

相關問題