Android:如何允许“动态创建”按钮(在JavaScript中)在WebView中工作?

时间:2016-12-02 13:50:28

标签: javascript android html webview

当我在Android应用上打开某个活动时,会创建一个WebView来加载HTML页面(位于服务器上)。 HTML页面中包含JavaScript个代码。

JavaScript中,我有以下几行来显示“文件选择”形式:

var fileinput = document.createElement('input');
fileinput.type = 'file';

它在Chrome上工作正常,我可以在发送之前浏览我的文件。但是,在我的Android应用中,当我点击Choose file按钮(在WebView上)时,没有任何事情发生。

当我在另一个Chrome中收到所选文件时,我使用以下代码下载(即:保存)传输的文件:

var href = document.createElement('a');
href.href = URL.createObjectURL(file);
href.download = metadata.name;
href.appendChild(document.createTextNode('download'));
item.appendChild(href)

但是它再次对Android无效,尽管它在Chrome上运行良好。

我的问题是如何让这些按钮(动态创建)在WebView的{​​{1}}内工作?

1 个答案:

答案 0 :(得分:0)

似乎webview没有为文件选择器提供默认实现。

然后,您应该为webview创建一个javascriptInterface,并定义选择要上载的文件和下载位置的方法。然后从你的HTML代码中调用这些方法。