【发布时间】:2014-08-14 11:50:26
【问题描述】:
WebView loadUrl 运行异步任务来加载给定的 URL。有一个按钮,它具有调用 loadURL 方法的 onClick 方法。 WebView 使用 JavascriptInterface - 特定方法由 onload 事件 ( ) 调用。我想在 loadURL 之前锁定对对象的访问并在 JavascriptInterface 方法中解锁。将 loadUrl 放在同步块中就够了吗?
编辑:
加载 WebView
mRenderReceiptWebView = (WebView) findViewById(R.id.receiptWebView);
mRenderReceiptWebView.getSettings().setJavaScriptEnabled(true);
mRenderReceiptWebView.getSettings().setPluginState(PluginState.OFF);
mRenderReceiptWebView.getSettings().setAllowFileAccess(false);
mRenderReceiptWebView.setVisibility(View.VISIBLE);
mRenderReceiptWebView.setWebChromeClient(new WebChromeClient(){
@Override
public boolean onConsoleMessage(ConsoleMessage cm)
{
Log.d("ShowMote", cm.message() + " -- From line "
+ cm.lineNumber() + " of "
+ cm.sourceId() );
return true;
}
});
mRenderReceiptWebView.setDrawingCacheEnabled(true);
mRenderReceiptWebView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
mRenderReceiptWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
mRenderReceiptWevView.addJavascriptInterface(new JavaScriptInterface(),
"Android"); receiptWebView.loadUrl(url);
JavaScript接口函数
公共 JavaScriptInterface(){
@Javascript接口
public void funJS() {}
}
html 正文加载
<body onload="(function(){ Android.funJS();}());">
【问题讨论】:
-
请出示您所说的代码。
标签: javascript android webview