如何在webview中调用或模仿javascript函数

时间:2015-09-18 14:13:04

标签: javascript android webview xamarin

我正在制作混合应用。我使用xamarin用于android,几乎和android一样。我已经想出了如何挂上手机的后按钮按下。按下时,我希望我的应用程序代码模仿或调用javascript函数,该函数是webview正在显示的网页的一部分。这是我的网页,所以我知道webview正在呈现的代码。具体来说,我想在按下手机的后退按钮时在页面元素上调用jquery slideToggle函数。可以这样做,如果是这样,最好的方法是什么?我希望这里的某个人过去不得不做这样的事情。感谢。

1 个答案:

答案 0 :(得分:1)

我不认为webview支持JQuery,除非你引用它。

Xamarin android的做法是:

 webView.addJavascriptInterface(new JsObject(), "injectedObject");
 webView.loadData("", "text/html", null);
 webView.loadUrl("javascript:alert(injectedObject.toString())");

来源:Android.Webkit.WebView.AddJavascriptInterface Method

还要确保您已启用Javascript,

 web_view.Settings.JavaScriptEnabled = true;

您可以通过ID(document.FindElementById)查找元素来显示或隐藏元素。然后,您可以将其display设置为blocknone。因此,你可以纯粹在Javascript中完成它。

添加:

您的方法存在一些问题。仅举几例 -

  • 按下后退按钮时,用户需要特定的行为,不应更改。这不会带来丰富的用户体验。
  • 如果您按下后退按钮,那么点击导航栏菜单会怎么样。
  • JavaScript的做法可能会导致安全问题。