0

你好我是android新手,在android webview中打開javascript on

我想設置我的javscript在我的android webview打開。我嘗試了一切,但它不起作用。我的代碼如下是我的webview類。我希望有一個人可以幫助我。

package visuals.Webview; 

import android.app.Activity; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class VisualsActivity extends Activity { 
/** Called when the activity is first created. */ 

final Activity activity = this; 
WebView webview; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    webview = (WebView) findViewById(R.id.webview); 
    // webview.setWebViewClient(new myWebClient()); 

    webview.loadUrl("http://192.168.0.62/lastversion/index.php"); 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 
    webview.getSettings().setUserAgentString(getString(R.string.user_agent_suffix)); 
} 

public class myWebClient extends WebViewClient 
{ 
    @Override 
    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     // TODO Auto-generated method stub 
     super.onPageStarted(view, url, favicon); 
    } 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (url.startsWith("tel:")) { 
      startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url))); 
      return true; 
     } else if (url.startsWith("mailto:")) { 
      url = url.replaceFirst("mailto:", ""); 
      url = url.trim(); 
      Intent i = new Intent(Intent.ACTION_SEND); 
      i.setType("plain/text").putExtra(Intent.EXTRA_EMAIL, new String[]{url}); 
      startActivity(i); 
      return true; 
     } else { 
      view.loadUrl(url); 
      return true; 
     } 
    } 
} 

// To handle "Back" key press event for WebView to go back to previous screen. 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { 
     webview.goBack(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
} 

謝謝你幫

+0

你已經測試過你的加載文件中的簡單腳本嗎? – Kwenk

回答

3
WebView webView; 
webView.getSettings().setJavaScriptEnabled(true); 

很容易:)

+0

他已經寫了這條線。不知道爲什麼地獄,沒有工作。 – Shaiful

+0

那麼所以問題是在別的東西,因爲該行代碼做它的工作:)也許他有一些問題,他的JavaScript – StErMi

1
webview.getSettings().setPluginState(PluginState.ON); 

或使用舊版本的時候(< API 8)

webView.getSettings().setJavaScriptEnabled(true); 
0
WebSettings webSettings = myWebView.getSettings(); 
webSettings.setJavaScriptEnabled(true); 

如果你想讓你的webview的javascript能夠與你的android應用程序進行交互。看看webview的addJavascriptInterface方法文檔。