Autor | Zpráva | ||
---|---|---|---|
varch Profil * |
Zdravím, mám toto:
<a id="elOdkaz" href="" download> /* divy s data-odkaz="...." */ ... for (let i = 0; i < konec; i++) { let odkaz = div[i].dataset.odkaz; dwn(odkaz); } var dwn = function(odkaz) { .setAttribute('href', url); elOdkaz.click(); } v cyklu probíhám prvky (nejsou to a elementy ) sbírám url z data-* vytvářím odkazy a na každý odkaz zavolám funkci kde v elementu "A" pokaždé měním href atribut a volám click() metodu. Ale vždy se otevře ke stažení jen poslední odkaz. Proč? vloudila se mi tam chybička když sem to přepisoval 7. řádek: elOdkaz.setAttribute('href', url); a zase :-) 7. řádek: elOdkaz.setAttribute('href', odkaz); nechtěl jsem to kopírovat celý tak sem to zkrátil a udělal pár chyb. |
||
Kajman Profil |
#2 · Zasláno: 20. 4. 2019, 16:34:24
|
||
varch Profil * |
pořád nevím kde je problém.
když budu postupně vytvářet elementy a s odkazem a vsunu je do elementu a postuně v cyklu na ně zavolám click(), tak se zobrazí ke stažení jen poslední s tím, že vývojářské nástroje mi nic nezobrazí a vše je prázdné. ale tady přece vůbec neni problém se zachováním aktuální hodnoty, do funkce se vždy posílal jiný odkaz a nebo netuším co si mi tim odkazem chtěl říct. |
||
Kajman Profil |
Možná jsem čekal problém v něčem jiném. Zkuste prosím vytvořit živou ukázku.
Edit: prohlížeče se při tom download atributu chovají různě. Firefox nabídne jen poslední, Chrome všechny. |
||
varch Profil * |
#5 · Zasláno: 20. 4. 2019, 17:18:14
Kajman:
„Edit: prohlížeče se při tom download atributu chovají různě. Firefox nabídne jen poslední, Chrome všechny.“ ted jsme to zkoušel ve chromu a tam to anbídne možnost zda chci stáhnout všechyn soubory... firefox mi nic nezobrazi la stahnul jenom poslední.... hm... máte nějaké řešení jak by se to dalo udělat? |
||
Kajman Profil |
#6 · Zasláno: 20. 4. 2019, 17:28:11
Vypadá to, že ve firefoxu jde v cyklu použít setInterval, ale nesmí mít příliš malou hodnotu zpoždění.
Živá ukázka |
||
varch Profil * |
a já to zkoušel na 1 sekundu a stejnak to nešlo... skusím tvůj postup
napadlo mě udělat vyskakovací okno a nasmrovat na skript kterej by to pak následně zavřel javascriptem ten tvůj způsob funguje. Díky prvně sem to s nim zkoušel také ale nešlo to |
||
Časová prodleva: 6 let
|
0