我的 webform 项目有问题,下面是一个示例代码来描述它:
<input type="file" id="btnfile" style="display: none"/>
<span onclick="uploadFile()">UploadFile</span>
<script>
$(function() {
uploadFile(); //file dialog not open
$("#btnfile").click(); //file dialog not open
});
function uploadFile() {
$("#btnfile").click(); //file dialog will open by clicking the span
}
</script>
我希望我的页面在准备就绪时自动打开上传文件对话框,我使用函数“uploadFile()
”来“单击”$( )
,
但该函数不会工作,除非它被事件调用,例如单击上面的跨度。
- 为什么
uploadFile()
无法在$()
中打开文件对话框? - 有没有办法自动打开上传文件对话框?
谢谢。
最佳答案
为了安全起见,这种行为不能全部通过编程来完成。
您可以要求用户安装插件或接受签名的小程序来完成默认情况下无法通过编程方式完成的工作。
对于 Microsoft 浏览器,可能使用大多数版本都支持的 ActiveX 组件。
在 Firefox 中,您可以编写一个附加组件并要求用户安装它。 Firefox 附加组件是使用 javascript 开发的,对于 Web 开发人员来说,它比 NPAPI 或 XPCOM 更容易。
Google Chrome 将淘汰 NPAPI 并正在开发 PPAPI。
无论如何,只要用户接受额外的组件,您就可以这样做。
另一种方法是查找特定浏览器的安全漏洞,如果您找到了请告诉我。
关于javascript - 如何在javascript中打开文件上传对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20367489/