如何使用我的活动中的按钮调用加载到webView中的HTML文档中的函数?即:ImageButton(名为:bookBtn)位于活动的标题栏中。当按下/点击它时,我需要它来触发webView DOM中的一个函数 - 它基本上将一个新的HTML文档加载到实现滑入效果的DOM中。
我找到了大量关于如何从webView到活动的文档,但没有相反的方法。谷歌说它can be done,但确实没有任何例子。我试图调整他们展示的示例代码here,但我无法让它工作。感谢您的任何意见。
下面是加载到webView中的HTML文档中的函数mWebView:
<script type="text/javascript">
$(document).ready(function() {
function loadTOC(){$.mobile.changePage("docs/1-1.html", "slideup");
};
});
</script>
...而且在我的主要活动中,我按照Google文档尝试了这个但不起作用:
ImageButton imageButton = (ImageButton) findViewById(R.id.bookBtn);
imageButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mHandler.post(new Runnable() {
public void run() {
mWebView.loadUrl("javascript:loadTOC");
}
});
}
});
答案 0 :(得分:8)
代码中至少存在两个问题:
1)javascript URL不会调用loadTOC函数,它只是引用它。你想要的是:
mWebView.loadUrl("javascript:loadTOC()");
2)loadTOC
函数不是全局可见的AFAIK,因此javascript URL将无法访问它。
您还应该确保启用JavaScript,因为编码没有良好的建议。
答案 1 :(得分:2)
我没有在这里看到所以我要补充一点,你应该确保你有
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.getSettings().setJavaScriptEnabled(true);.
在您的Android代码中