2015-04-06 62 views
1

我想在加载页面时显示文件对话框我试着用JS触发jQuery文档就绪事件中文件输入的点击事件。但是,这种方法只适用于IE11,它不适用于Chrome(41.0.2272.118)。 如何让它在Chrome中工作?如何在Chrome中加载页面时使用JavaScript显示文件对话框

这里是我的代码不会在Chrome中工作,但在IE工作:

<!doctype html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <title>My HTML File</title> 
 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
 
</head> 
 
<body > 
 
    <input type="file" id="a" /> 
 
    <script> 
 
     $(document).ready(function() { 
 
      Go(); 
 
     }); 
 

 
     function Go() { 
 
      var input = $('input'); 
 
      
 
      input.click(); 
 
      console.log('Gooooooooooooooo'); 
 
     } 
 
    </script> 
 
</body> 
 
</html>

+0

你不能,大多数浏览器不会允许你。文件上传对话框只能由用户在文件上传输入中实际点击(或关注 - >输入)而显示。 –

回答

1

IE将允许你在一个类型触发。点击事件=“文件” ,但出于安全原因,大多数其他浏览器不会。但是,there is a solution可能适合你。

+0

我知道如何通过编程触发点击事件来打开文件对话框。这里我的问题是这种方式一旦加载页面不起作用。 –

+0

我发现了另一个堆栈溢出页面的解决方案[应该可以正常工作](http://stackoverflow.com/questions/12134014/how-can-i-programmatically-open-the-file-picker-with-javascript)。 Accomanying JS小提琴在这里:http://jsfiddle.net/fEBFp/1/ –

+0

感谢您的帮助。但我希望文件对话框在加载页面后自动打开,而不需要点击任何内容。 –

0

用onload()不能直接触发它。
只有<input type = "image">标签支持加载。见here

+1 @ william.taylor.09的主张。

+0

我知道如何通过编程触发点击事件来打开文件对话框。这里我的问题是这种方式一旦加载页面不起作用。 我试图像$(文档).ready(函数(){/ /触发文件输入点击事件。但它不起作用。 –

相关问题