2015-04-06 37 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(函數(){/ /觸發文件輸入點擊事件。但它不起作用。 –

相關問題