如何在UWP webview上注入JS?

时间:2016-04-08 13:46:09

标签: javascript windows webview win-universal-app code-injection

我有一个webview,我会在页面加载后注入一些JS。

我知道在Android上我可以使用

webView.loadUrl("javascript:function foo(str) { } foo('x');");

但是在UWP上

WebView.Navigate("javascript:function foo(str) { } foo('x');");

不起作用,因为Navigate想要一个URI对象而不是一个字符串。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

一个解决方案:

  1. 以字符串形式下载您的网页(例如使用HTTPClient)。
  2. 将字符串与您的自定义JS结合使用。
  3. 致电NavigateToString(不导航)并传入您的合并页面。
  4. 当WP8.1处理触摸事件时遇到问题,我们已经使用过一次这个解决方案。我们使用上面的方法将hammer.js注入到所有网页中,效果很好。

    另一种解决方案:

    使用InvokeScriptAsync作为Neil在评论中提到的。在MSDN Forums.

    上对此解决方案有一个很好的概述