Portál AbcLinuxu, 12. května 2025 05:10
--webbot bot="HTMLMarkup" startspan -- skrypt window.location=("file:.///") /skrypt --webbot bot="HTMLMarkup" endspan i-checksum="12628" --- musel jsem to osekat, protože to tady nechtělo zobrazit No a když se v Mozille otevře tento soubor, tak to dělá přesně to, co potřebuji. Zobrazí to kompletní obsah složky, ve které je právě soubor s touto instrukcí. Mohu v tom přejít do jiné složky a zobrazit obrázky. No a tento příkaz window.location=("file:.///") potřebuji upravit, aby to dělalo to samé na Mozille v Linuxu. Pokusil jsem se to různě upravit, ale pokaždé to zobrazí pouze bílou stránku. Když jsem v jiném PC přes HTTP server zpřístupnil jednu obsáhlejší složku tak to mi to funguje pomocí window.location=("http://192.168.1.2:80") a dělá to v Linuxu přesně co má, takže v Mozille chyba asi nebude. Jedná se o využití pouze v interní síti. Může někdo poradit? Děkuji.
Když jsem v jiném PC přes HTTP server zpřístupnil jednu obsáhlejší složku tak to mi to funguje pomocí window.location=("http://192.168.1.2:80") a dělá to v Linuxu přesně co má, takže v Mozille chyba asi nebude.Jak zpřístupnil? Tím
<script>window.location = "file:<cesta>"</script>
přesměrováváš prohlížeč na lokální adresář, tzn. lokální na disku uživatele, který tu stránku otevře, nikoliv adresář na serveru! Dnešní browsery otevírání lokálních souborů z bezpečnostních důvodů tímto způsobem neumožňují. V JS konzoli se ti určitě objevila chyba, která tě na to upozorňuje. Někde ti to fungovalo? V jak starém prohlížeči ???
Když jsem v jiném PC přes HTTP server zpřístupnil jednu obsáhlejší složku tak to mi to funguje pomocí window.location=("http://192.168.1.2:80") a dělá to v Linuxu přesně co má, takže v Mozille chyba asi nebude.K tomu, aby se klientovi zobrazil obsah adresáře na tvém serveru (pokud url nekončí souborem), nepotřebuješ žádnou magii. Jen to v konfiguraci HTTP serveru musí být povolené (např. direktiva Options +Indexes v .htaccess v daném adresáři). Pokud v tom adresáři nemáš soubor, který server vrátí jako index (jeden z voleb direktivy DirectoryIndex, např. index.html index.cgi index.pl index.php index.xhtml index.htm) tak obsah, tj. index adresáře vygeneruje přímo http server. V konfiguraci serveru se dají nastavit podrobnosti, jak má vypadat (ikonky, přidaný text, popisky souborů apod) nebo existují rozšíření. Ty volby jsou pro Apache, přečti si manual pro svůj http server. Další možností je, že v adresáři budeš mít nějaký soubor, který se použije jako index, viz direktiva DirectoryIndex, třeba index.php a ten si to vygeneruje sám. Potom jednoduše stačí, aby si uživatel normálně otevřel URL daného adresáře na tvém serveru. Na ten adresář ho samozřejmě můžeš i přesměrovat např. i pomocí toho javascriptu, přiřazením umístění do proměnné window.location, ale ne s file:// protokolem ale buď kompletní http:// URL nebo relativní cestu. Protože jsi psal, že někde ti to fungovalo, tak se tvůj problém možná vyřeší pouhým smazáním toho index.html (?) souboru, do kterého jsi vložil to lokální přesměrování. Jestli ti to funguje v jednom adresáři a v jiném ne, tak stačí změnit konfiguraci konfiguraci HTTP serveru pro daný adresář.
window.location=("file:.///")
. Přesměrování na http://192.168.1.2:80 je samozřejmě v pořádku.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.