的jQuery的文件上傳聲稱與IE6 +工作,並在https://github.com/blueimp/jQuery-File-UploadjQuery-File-Upload插件如何在沒有Flash或Silverlight的情況下工作?
有關於它沒有公開的問題所以我想知道它是如何實現這一當其他polyfils到文件API都需要附加軟件來訪問文件系統。
的jQuery的文件上傳聲稱與IE6 +工作,並在https://github.com/blueimp/jQuery-File-UploadjQuery-File-Upload插件如何在沒有Flash或Silverlight的情況下工作?
有關於它沒有公開的問題所以我想知道它是如何實現這一當其他polyfils到文件API都需要附加軟件來訪問文件系統。
據我所知,沒有深入研究代碼,它會使用iframe。
看吧:
https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.iframe-transport.js#L70
的事情是,如果你不能做到這一點沒有Ajax /的WebSockets或任何...那麼唯一可能的方式實現這一目標是做請求進入一個iframe。
在iframe中,會有一個帶有文件輸入的表單。它會像往常一樣向服務器發出請求,當iframe重新加載時,javascript代碼應該能夠更新用戶上傳的文件。 iframe可以包含類似於文件附件的ID以添加到主表單...然後在服務器上應該可以將文件附件鏈接到表單。
這幾乎就是這樣。這種方法有一些缺點,因爲它在iframe中工作。由於安全原因,內嵌框架比以前更受限制。