是否可以下载用户在WebView
中点击的图片?或者至少处理WebView
内的点击以获取图片的网址?
答案 0 :(得分:1)
UWP WebView
有一个InvokeScriptAsync
方法,可以调用包含参数的JavaScript函数。但是,您可以使用"eval"
函数作为第一个参数并将任意JS代码作为第二个参数来执行任何JavaScript代码。当我这样做时,我通常将JS代码存储在包中的.js
内容文件中,然后读取其内容并将其传入,但您也可以直接将JavaScript代码硬编码为字符串。
在WebView
导航后,您可以使用此方法执行JS片段,在DOM中的所有图像上注册onclick
事件。
棘手的部分是事件处理程序,因为您需要将点击的图像的URL传递给您的代码。为此,您可以使用ScriptNotify
的{{1}}事件,但仅当您知道用户将事先浏览的网址以及它们是否全部启用SSL时才有效。
通用解决方案是一个允许Web的对象,它是一个C#类,必须存在于Windows运行时组件库中,并且为WebView
且具有sealed
属性。你"注射"将此类的一个实例放入[AllowForWeb]
中,您可以在其中执行JS代码中的方法。您可以找到示例here或here。