Piszę rozszerzenie przeglądarki Google Chrome, które umożliwia pobranie pliku kopii zapasowej danych. Chcę, aby użytkownik mógł nacisnąć przycisk, a okno dialogowe "Zapisz jako" powinno się otworzyć i zapisać plik na swoim komputerze. Nic nie działa i nie znalazłem odpowiedzi w Internecie. Próbowałem kilka podejść:Wymuszenie pobrania w rozszerzeniu Google Chrome
- Korzystanie
document.execCommand('SaveAs', null, 'filename.json');
ten nie działa, ponieważ to polecenie jest IE-only i nie wydaje się być Webkit-alternatywa - Korzystanie URI danych. To było najbardziej obiecujące i działało w Operze i Firefoksie, ale problem polega na tym, że ani Chrome, ani Safari nie wydają się obsługiwać Content-disposition = attachment; -header w URI. Ta powinna działać. (Chrome nawet nie pozwala mi uzyskać
ctrl/cmd+s
strony z URI danych) - Korzystanie z
XMLHTTPRequest
. Nie próbowałem tego, ale musi być jakiś sposób, w jaki mógłbyś przekazać prośbę dookoła? Należy pamiętać, że nie chcę używać zewnętrznego serwera (w takim przypadku mógłbym po prostu wysłać żądanie POST i zastosować dyspozycję treści: nagłówek) - Korzystanie z dostępnego interfejsu API rozszerzenia Chrome. Ale wydaje się, że nic nie ma w tym celu.
Powodem, dla którego nie chcę korzystać z zewnętrznego serwera jest to, że nie chcę płacić za hosting, a dane wysyłane mogą być wrażliwe na użytkownika, a ja nie chcę naruszać czyjąś prywatność.
Czy ktoś to zrobił?
zobaczyć http://stackoverflow.com/questions/4003352/chrome-extension-download-export-content-created-on-the-fly – serg