Pobieranie zasobów w HTML5 – a[download]

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

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ą korzyścią z użycia 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 powyższym 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 nie jako link do pobrania. Dzieje się tak, ponieważ wiele wersji przeglądarek nie obsługuje zasady pobierania plików z innych domen. 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 na kanale deweloperskim (14.0.835.15 lub nowszej).