2013-09-24 36 views
0

的Android的WebView我有一個通常與發射的書籤:啓動JavaScript的書籤在Android上的按鈕依序按

javascript: function loadScript(scriptURL) { 
var scriptElem = document.createElement('SCRIPT'); 
scriptElem.setAttribute('language', 'JavaScript'); 
scriptElem.setAttribute('src', scriptURL); 
document.body.appendChild(scriptElem); 
} loadScript('http:/www.pathtojavascript.co.uk/javascript.min.js'); 

從一個書籤。我現在試圖讓這個在Android應用程序中被解僱,我在webview下面有一個webview和一個Android按鈕,我試圖做的是當Android按鈕被按下時將書籤加載到webview中。

我一直在尋找http://android-er.blogspot.co.uk/2011/10/call-javascript-inside-webview-from.html

但是這個我覺得當JavaScript是在在的WebView加載html文件,而我的是出現在當前網頁上方和JavaScript在發現使用http:/www.pathtojavascript.co.uk/javascript.min.js

我現在的等級:

public class SearchViewer extends SherlockActivity { 

    TextView grabit; 
    WebView webView; 

    @SuppressLint("JavascriptInterface") 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.searchviewer); 
     getSupportActionBar().setHomeButtonEnabled(true); 
     getSupportActionBar().setIcon(R.drawable.ic_arrowleft); 

     Intent intent = getIntent(); 
     String url = intent.getStringExtra("URL"); 
     String name = intent.getStringExtra("Name"); 
     setTitle(name); 

     webView = (WebView) findViewById(R.id.webView1); 
     webView.loadUrl(url); 
     webView.getSettings().setLoadWithOverviewMode(true); 
     webView.getSettings().setUseWideViewPort(true); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.setWebViewClient(new WebViewClient() { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       view.loadUrl(url); 
       return false; 
      } 
     }); 
     grabit = (TextView) findViewById(R.id.grabit); 
     grabit.setOnClickListener(OnClick_grabit); 


    } 

    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 

     case android.R.id.home: 
      finish(); 
      break; 

     default: 
      return super.onOptionsItemSelected(item); 
     } 
     return false; 
    } 

    public void onStart() { 
     super.onStart(); 
     EasyTracker.getInstance(this).activityStart(this); 
    } 

    public void onStop() { 
     super.onStop(); 
     EasyTracker.getInstance(this).activityStop(this); 
     } 


    private OnClickListener OnClick_grabit = new OnClickListener() { 
     public void onClick(View v) { 
      //Code to launch javascript? 
     } 
    }; 



} 

回答

0

碼推出的Javascript

webView.loadUrl("javascript:$the method to be invoked$"); 

用您希望調用的javascript方法替換$要調用的方法$。希望有所幫助。

0

試試這個

 webView.setWebViewClient(new WebViewClient(){ 
     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
      webView.loadUrl("javascript:VODPlay()"); 
      } 
     }); 

這樣,您就可以調用JS文件中的特定功能。