2012-04-03 12 views
6

Mam „Pobierz plik” href zdefiniowane w moim pliku javascript jako:danych URI dla pliku CSV w Firefoksie nie oddanie .csv rozszerzenie

$("#downloadTag").html("<a href=data:text/csv;charset=utf-8," + encodeURIComponent(data) + ">Download</a>"); 

w Chrome to działa zgodnie z oczekiwaniami, czyli po kliknięciu na ten pobrania link podaje nazwę pliku jako "download.csv". Jednak w firefoxie nadaje to bełkotliwą nazwę jak "puzdb.part".

Czy ktoś mógłby mi wskazać, co robię źle?

Dzięki

Edit: Oto jsfiddle demo: http://jsfiddle.net/kLJz9/

Edit # 2: zauważyłem, że na oknach nie umieścić .csv rozszerzenie dla Chrome, jak również i zachowanie dla Firefox jest nadal to samo rozszerzenie (np. rozszerzenie)

Odpowiedz

3

Chrome może oznaczać nazwę/rozszerzenie pliku, dodając atrybut pobierania do znacznika zakotwiczenia.

<a href="URI" download="MyFile.csv">Download</a> 

Ten atrybut działa tylko w chrome v 14+ i żadnej innej przeglądarce.

Poszukuję również rozwiązania tego problemu, ale mam nadzieję, że to pomoże.

EDIT:

atrybut pobieranie powinno rozwiązać problem, który mają na komputerach z systemem Windows i Chrome.

+0

Dzięki za odpowiedź Brad. Identyfikator URI danych działa pięknie, ale chciałem, aby był obsługiwany przez wszystkie przeglądarki. :-(Działa to nawet doskonale na Macu, to tylko okna, z którymi się nie zgadza. Daj mi znać, jeśli znajdziesz rozwiązanie tego problemu. Dzięki! – test123

+0

W Firefoksie jest błąd: https: // bugzilla. mozilla.org/show_bug.cgi?id=622400 (Nadal występuję w Mac OS X 10.6.8 i Firefox 18.0.2). – Piran