Pobieranie zasobów w HTML5 – a[download]

Chrome obsługuje teraz nowy atrybut download specyfikacji HTML w elementach a. Gdy jest używany, oznacza, że zasób, do którego się odnosi, powinien zostać pobrany przez przeglądarkę, a nie do niego przekierowany.

W sekcji Pobieranie zasobów:

Na przykład po kliknięciu tego linku plik .png zostanie pobrany jako „MyGoogleLogo.png”, zamiast przejść do wartości href: pobierz mnie. Oznaczone ceny są następujące:

<a href="http://web-central.appspot.com/.../web-fundamentals-icon192x192.png" download="WebfundamentalsLogo">download me</a>

Prawdziwą zaletą a[download] jest możliwość pracy z adresami URL typu blob:filesystem:. Dzięki temu użytkownicy będą mogli pobierać treści utworzone lub zmodyfikowane w aplikacji.

Pełna wersja demonstracyjna

Warto zauważyć, że w tym przykładzie obraz ma ten sam element źródłowy w przypadku witryny. Jeśli spróbujesz użyć linku do obrazu z innego źródła, link może nie działać jako link do strony docelowej, a tylko jako link do pobrania. Dzieje się tak, ponieważ wiele wersji przeglądarki nie obsługuje zasad pobierania plików z różnych źródeł. Na przykład wersje Chrome starsze niż 65 umożliwiały pobieranie plików z innych źródeł, ale ta funkcja została wycofana w późniejszych wersjach. Więcej informacji znajdziesz tutaj. Możesz użyć nagłówka Content-Disposition, aby wymusić pobieranie z innego źródła.

Obsługa w przeglądarce: ten atrybut jest obsługiwany tylko w bieżącej wersji Chrome z kanału deweloperskiego (14.0.835.15 lub nowszej).