我有一个简单的Android应用程序,它只是一组webviews。通常在默认的Android浏览器或Chrome中,用户可以长按图像并将其保存到手机中。
在网页浏览中,用户没有长按选项,但我希望能够提供相同的功能,以便将图像保存到手机中。
这可以通过javascript或jquery或任何其他方法吗?
感谢。
答案 0 :(得分:2)
您似乎至少有两个(不推荐)选项:
对于第一个选项,根据当前游标节点获取HitTestResult。如果找到HTML :: a标记并且锚具有非JavaScript URL,则HitTestResult类型设置为SRC_ANCHOR_TYPE,并且URL在“extra”字段中设置。如果锚没有URL或者它是JavaScript URL,则类型将为UNKNOWN_TYPE,并且必须通过requestFocusNodeHref(Message)异步检索URL。如果找到HTML :: img标记,则将HitTestResult类型设置为IMAGE_TYPE,并在“额外”字段中设置URL。一种类型的SRC_IMAGE_ANCHOR_TYPE指示具有URL的锚,该URL具有作为子节点的图像。如果找到电话号码,HitTestResult类型设置为PHONE_TYPE,电话号码设置在HitTestResult的“额外”字段中。如果找到地图地址,则将HitTestResult类型设置为GEO_TYPE,并在HitTestResult的“extra”字段中设置地址。如果找到电子邮件地址,则HitTestResult类型设置为EMAIL_TYPE,并且电子邮件设置在HitTestResult的“额外”字段中。否则,HitTestResult类型设置为UNKNOWN_TYPE。
第二种选择:
public void requestImageRef (Message msg)
请求用户最后触摸的图像的URL。 msg将使用表示URL作为其对象的String
发送到其目标不确定这些选项是否与“长按”兼容。
您也可以使用onLoadResource(WebView视图,String url)简单地捕获所有已加载的图像资源,构建图像引用列表并下载按钮单击引用的那个。