Portál AbcLinuxu, 19. dubna 2024 14:07


Dotaz: stažení vygenerovaného blobu v Gnome Web (Epiphany)

23.12.2017 15:24 mica
stažení vygenerovaného blobu v Gnome Web (Epiphany)
Přečteno: 313×
Odpovědět | Admin
Zdravím,

pro testovací účel jsem zkusil v různých prohlížečích těchto pár řádků kódu:
  var blob = new Blob(["textový obsah blobu"], {type: "plain/text"});
  var link = document.createElement("a");
  window.URL = window.URL || window.webkitURL;
  link.setAttribute("href", window.URL.createObjectURL(blob));
  link.setAttribute("download", "textblob.txt");
  var textodkazu = document.createTextNode("odkaz");
  link.appendChild(textodkazu);
  document.body.appendChild(link)
Po kliknutí na odkaz se ve Firefoxu a Chromiu stáhne vytvořený blob jako soubor textblob.txt. Avšak v prohlížeči Gnome Web (Epiphany) se po kliknutí nestane vůbec nic. Pokud jde o jednotlivé kroky, totiž vytvoření blobu, přiřazení URL metodou createObjectURL() a nastavení jména souboru atributem download, to vše jednotlivě v tomto prohlížeči funguje. Prohlížeč DOM ukazuje u odkazu
<a href=​"blob:​http:​/​/​localhost/​05596a3e-2a34-4af5-978d-417cf274de44" download=​"textblob.txt">odkaz​</a>
Vygenerovaný blob lze pomocí daného odkazu stáhnout jedině prostřednictvím volby Uložit odkaz jako... (klik pravým tlačítkem myši), přičemž v dialogovém okně na místě pro jméno ukládaného souboru je předvyplněno jméno unknown.

Napadá mě jedině, že Gnome Web nebo obecně WebKit má nějaká mimořádně přísná bezpečnostní pravidla, která takové stažení blobu nedovolují, nebo snad kvůli WebKitu je třeba podniknout ještě něco, o čem já nevím. Je mi jasné, že Gnome Web je naprosto okrajový prohlížeč, který skoro nikdo nezná a nepoužívá (takže bych vlastně tento problém ani nemusel řešit), ovšem nevím, zda se nejedná o záležitost WebKitu jako takového (což by se tedy dotýkalo také Safari). Kdyby tedy někdo věděl, co a jak, byl bych rád.

Děkuji.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.12.2017 18:12 NN
Rozbalit Rozbalit vše Re: stažení vygenerovaného blobu v Gnome Web (Epiphany)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tady uz to nekdo resil pomoci FileSaver.js. Problem je ta blob: URL..
24.12.2017 08:56 mica
Rozbalit Rozbalit vše Re: stažení vygenerovaného blobu v Gnome Web (Epiphany)
To vypadá dost beznadějně. FileSaver.js jsem ostatně použil jako první a právě protože na Gnome Web nefungoval, začal jsem hledat jiné možnosti.

Ještě bych mohl použít DataURI, to funguje všude, byť je to esteticky horší ("zasviní" to adresní řádek, navíc chci stáhnout velký objem textu). Tady mám ovšem ještě dotaz: je možné pro ostatní prohlížeče použít v předchozím příspěvku napsaný kód a pro WebKit DataURI ? Nevím, jak detekovat, že po kliknutí na odkaz se v určitém prohlížeči nic nestalo, protože se negeneruje žádná chyba (aspoň konzole mlčí).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.