我正在开发一个示例移动网络应用来调用相机。请参阅下面的HTML和JS代码,使用onClick按钮触发文件输入点击事件。
<input type="button" id="my-button" value="Capture" onClick="openCamera()">
function openCamera(){
var input = document.createElement('input');
input.setAttribute('accept', 'image/*');
input.setAttribute('capture', 'camera');
input.setAttribute('type', 'file');
input.click();
}
但是当我在http服务器上托管我的页面时,这段代码工作正常,如
http://localhost(ipaddress to access via mobile browser)/PhotoLocker/index.html
但不是使用https网址
https://localhost(ipaddress to access via mobile browser)/PhotoLocker/index.html
有趣的是,即使使用https://
,它也是第二次在病房工作。
注意:没有允许/阻止相机权限对话框正在进行第一次点击事件,因为我没有看到任何“相机权限”对话框。在Nexus6 Android设备上测试Chrome V64。
我知道,必须在其他按钮点击中调用动态创建的输入元素点击。
有人可以帮助我理解,为什么第一次使用https://相机/文件浏览器选项不会出现?
解决: 如果有人在解决类似的问题,这可能会有所帮助。 此问题与https无关。在我的库中,一些内部方法只会在https上触发,试图访问原始按钮点击事件被中断的媒体流。我在我的图书馆修了一下。