La méthode d'envoi XMLHTTPRequest de Safari () prend en charge un argument de fichier. Firefox ne (pas encore). P>
Comment puis-je vérifier si cela est pris en charge? Dans Firefox, cela se comportera simplement comme si une chaîne vide était passée. P>
J'essaie d'éviter de faire une détection de version du navigateur. P>
Edit: FF 3.6 semble le prendre en charge, mais la question est toujours pertinente pour les versions plus anciennes ou d'autres navigateurs. P>
4 Réponses :
Il est possible que si l'objet de fichier puisse être créé, que l'envoi de l'envoi. Dans Gecko (Firefox,) qui sera vrai (le fichier et la compatibilité du fichier d'envoi ont été libérés dans 1,9 selon MDC) P>
En d'autres termes, si (type de fichier === "objet") {...} code>
Si un ancien navigateur pourrait se renifler de ne pas vous aider? Jquery.support pourrait être suffisant? P>
"J'essaie d'éviter de faire la détection de la version du navigateur." En outre, qui testez-vous dans les tests JQuery.Support pour cela.
Vous devriez essayer d'utiliser fonction.length . < / p>
Cette solution ne fonctionnera pas car le fichier n'est pas transmis comme un argument supplémentaire, comme indiqué par Rnicholson. P>
Je ne comprends pas comment cela aiderait. (nouvelle fenêtre.xmlhttprectes) .Send.length retournerait 1 dans les deux navigateurs, n'est-ce pas?
En effet, ma faute. Je viens de supposer que "fichier" serait un argument supplémentaire. Devrais-je supprimer la réponse?
Je pense que quelque chose comme ceci est ce que vous recherchez probablement:
firefox <= 3.5 Support Soutien Fichier de cette manière: xhr.sendasbiny (fichier.files [0] .getasbinary ()); où file.files [0] .getasbinary () est le point de fichier d'entrée