Předmět Autor Datum
Pokud vím, tak ne.
Wikan 14.02.2023 13:19
Wikan
Možná takto? https://stackoverflow.com/questions/2313620/is-it-possible-to-retrieve-the-last-modifie…
host 14.02.2023 13:41
host
Díky mrknu se na to.
Marek9 14.02.2023 15:30
Marek9
Tím fetch ten soubor budeš načítat z webserveru na localhostu, na který máš přístup. Na tom webserve…
kacikac 14.02.2023 14:14
kacikac
Není a PHP tam neběží.
Marek9 14.02.2023 15:28
Marek9
Otázka: "Ako sčítam čísla v JS" Tvoja odpoveď: "Načítať súbor môžeš pomocou funkcie Open v jazyku Fo…
Ale 14.02.2023 18:21
Ale
Pleteš si klienta a server. Na klientovi běží JS a čte soubor z localhost, kde může (ale nemusí) běž…
Pavel 14.02.2023 19:30
Pavel
Ja si klient a server nepletem, ani som nič o tom nehovoril... ja som len hovoril že tazatel chcel z…
Ale 14.02.2023 20:20
Ale
Níže jsem ti to vysvětlil jak jsem to myslel .-) A jestli to nechápeš, klidně ti na to napíšu vzorov…
kacikac 14.02.2023 20:21
kacikac
vzorový kód si môžeš strčiť do.... tazatel chce jedno a ty mu radíš druhé...
Ale 14.02.2023 20:23
Ale
Ty vůbec nerozumíš jak to myslím. Tak se to snaž pochopit. Ten soubor se načítá ze serveru. Zjistit…
kacikac 14.02.2023 20:25
kacikac
Tak jsem našel tady pomocí fetch how-to-get-last-modified-timestamp-of-an-external-file tohle fetc…
Marek9 14.02.2023 20:08
Marek9
je ten kód blábol V podstatě je to čas, kdy zavoláš to "new File()".
Wikan 14.02.2023 20:12
Wikan
Záleží na tom co posílá server za hlavičky. Pokud pošle Last-Modified tak mi funguje: fetch('test.t…
kacikac 14.02.2023 21:20
kacikac
Tak i mě to vrací datum a čas :-) A jde jedním dotazem získat i obsah toho souboru? Díky
Marek9 14.02.2023 23:18
Marek9
Zkoušel jsem to takto fetch('test.html') .then(response => response.text()) .then(data => console.…
Marek9 14.02.2023 23:47
Marek9
Funguje mi: fetch('test.html') .then((result) => { document.getElementById("Last-Modified").innerHT…
kacikac 15.02.2023 00:29
kacikac
Tak mě taky, děkuji. Zkoušel jsem to dát do funkce a zavolat to 5x pokaždé s jiným souborem ale oček…
Marek9 15.02.2023 11:25
Marek9
const result = await fetch('test.html'); document.getElementById("Last-Modified").innerHTML = result…
Wikan 15.02.2023 11:30
Wikan
Zkoušel jsem jen nějaký základ a to přesně takto. async function fetchText(fn) { let response = awa…
Marek9 15.02.2023 12:04
Marek9
Protože je fetchText() asynchronní funkce, musíš ji taky awaitovat, aby se nezačal vykonávat další ř…
Wikan 15.02.2023 12:12
Wikan
Vyzkouším, díky. Myslíš takto? var date = new Date(result.headers.get('Last-Modified));
Marek9 15.02.2023 12:52
Marek9
Ano. poslední
Wikan 15.02.2023 13:00
Wikan

Otázka: "Ako sčítam čísla v JS"
Tvoja odpoveď: "Načítať súbor môžeš pomocou funkcie Open v jazyku Fortan"

Čo tu splietaš o PHP??? Radeji nič nepíš, keď neviem ani prečítať nadpis.

Zjištění vytvoření a poslední úprava načteného souboru v JS

Ja si klient a server nepletem, ani som nič o tom nehovoril... ja som len hovoril že tazatel chcel zistiť poslednú úpravu v JS ale kacicak mu napsal radu v PHP.... proste totálne mimo... ja som len Kacicaka upozornil že píše nezmysli, to je celé... ja nič tu netrvil, tak neviem z čoho si vydedukoval že si pletiem server a kleint.

Ty vůbec nerozumíš jak to myslím. Tak se to snaž pochopit.
Ten soubor se načítá ze serveru. Zjistit poslední úpravu můžeš tak, že to odchytneš přes header v javascriptu. Což se mně osobně nelíbí a já osobně bych to řešil tak, že bych to zjisti na serveru (třeba pomocí php nebo prostě toho, co je dostupné na serveru) a poslal bych tu hodnotu jako výstup javascriptu.

Tak jsem našel tady pomocí fetch
how-to-get-last-modified-timestamp-of-an-external-file
tohle


fetch("/path/to/file")
.then(response => response.blob())
.then(blob => {
  const file = new File([blob], blob.name);
  console.log(file.lastModifiedDate, file.lastModified);
});

ale na výstupu mám tohle při každém načtení juný čas.

Tue Feb 14 2023 20:02:49 GMT+0100 (středoevropský standardní čas) 1676401369519
Tue Feb 14 2023 20:02:50 GMT+0100 (středoevropský standardní čas) 1676401370752
Tue Feb 14 2023 20:02:51 GMT+0100 (středoevropský standardní čas) 1676401371853
Tue Feb 14 2023 20:02:58 GMT+0100 (středoevropský standardní čas) 1676401378360
Tue Feb 14 2023 20:02:58 GMT+0100 (středoevropský standardní čas) 1676401378593

Dělám něco špatně nebo je ten kód blábol?

Díky

Zkoušel jsem to takto


fetch('test.html')
.then(response => response.text())
.then(data     => console.log(data))
.then(response => console.log(response.headers.get('Last-Modified'))) ;

ale dostanu chybu

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'headers')

Tak mě taky, děkuji.
Zkoušel jsem to dát do funkce a zavolat to 5x pokaždé s jiným souborem ale očekávaný výsledek není

výsledek z 1 souboru
výsledek z 2 souboru
výsledek z 3 souboru
výsledek z 4 souboru
výsledek z 5 souboru

ale je třeba
výsledek z 3 souboru
výsledek z 1 souboru
výsledek z 2 souboru
výsledek z 5 souboru
výsledek z 4 souboru

zkoušel jsem udělat i asynchronní funkci s await fetch() ale výsledek je stejný, jak to udělat aby se spustila funkce znova s dalším souborem teprve až se ta předchozí dokončí? Díky

Zkoušel jsem jen nějaký základ a to přesně takto.

async function fetchText(fn) {
	let response = await fetch(fn);
	console.log(fn,response.status); // 200
	console.log(fn,response.statusText); // OK
	if (response.status === 200) {
		let data = await response.text();
		// handle data
	}
}


fetchText('test0.html')
fetchText('test1.html')
fetchText('test2.html')
fetchText('test3.html')
fetchText('test4.html')
fetchText('test5.html')

Vyzkouším ještě ten kód od tebe.

PS: tady Last-Modified se píše o formátu Last-Modified,
Last-Modified: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
ale už se tam nepíše jak si můžu vytvořit datum a čas ve vlastním formátu, nevíš jestli to jde?

Zpět do poradny Odpovědět na původní otázku Nahoru