我有一个通常用以下方式解雇的书签:
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 :(得分:0)
启动Javascript的代码
webView.loadUrl("javascript:$the method to be invoked$");
使用您要调用的javascript方法替换 $要调用的方法$ 。希望有所帮助。
答案 1 :(得分:0)
试试这个
webView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
webView.loadUrl("javascript:VODPlay()");
}
});
这样,您可以调用js文件中的特定函数。