Autor Zpráva
Palidi
Profil
Oč jde:
dělám novou verzi on-line hry. Starší verze umožňovala zapnout tzv. obrázky z disku. Server generoval cesty k obrázkům na pevný disk uživatele (např. src=c:\xxx\obrazek.gif). Což u browserů zrychlí zobrazení a snižuje to datový tok.
U nové verze chci jít ještě dál a umožnit nahrávat z disku i soubory css a statické html stránky (jedná se o menu ve frame). Což umožní ještě větší snížení datového toku a navíc si uživatel bude moct kompletně upravit design.

Jaký mám problém:
IE bez problému použije css z lokálního disku (aplikovaný na stránku ze serveru). Opera a Firefox ne. Html stránky z disku nejde použít ani v jednom browseru (stránka se skládá z frame kde menu by měly být nahrány z disku a jeden frame ze serveru).
Pokud použiji pro uložení souborů jiný server pracuje vše ve všech třech browserech.

Je mi jasné že obecně jde o porušení bezpečnosti. V tomto případě ale uživatel přesně ví co dělá a pomohlo by kdyby toto omezení šlo obejít. Nikde jsem ale nenašel option (v žádném z browserů) která by povolovala brát obsah buď z konkrétního adresáře na lokálním disku nebo to povolila pro konkrétní url.

Netušíte někdo jak na to ?

PS: jediné řešení které mne napadlo je že si uživatel nainstaluje na počítač nějaký triviální http server a ten bude tyto soubory nabízet přes http://localhost/ Je to ale dost nepraktické.
izsak
Profil
Skutočne to viazne na bezpečnostných zásadách prehliadačov.

Nebolo by lepšie správne nastaviť cachovanie dát a načítať všetky súbory z cache prehliadača? Určite by to bolo lepšie riešenie a "nešahalo" by na užívatelov disk.

ad http server: nemôže byť úplne triviálny, aby si ho užívateľ vedel nainštalovať/rozchodiť. A tiež treba dodržať licenčné podmienky a kopu iných vecí. S tým riešením by som vôbec neuvažoval. Cache, cache, cache ;-)
Palidi
Profil
S cache by to vypadalo takto :
- při prvním přihlášení si browser zkontroluje jestli jsou cachované data platná. Tzn už někam šahá. Nevím to jistě ale myslím že IE stahuje znovu obsah cache při x-tém přístupu. Ve starší verzi se dá pozorovat že browser poprvé stáhne obrázky, pak se zobrazují ihned ale jednou za čas se znovu zobrazují postupně.
- uživatel by neměl možnost nastavit si vlastní design (mám stránky tvořeny tak aby všechno bylo v css, takže pokud si udělá své css má komplet jiný design)

http server který umí jen http get pro statické data je opravdu triviální, šel by napsat v delphi na "pár" kliknutí. Instalovat by se nemusel, jen by se nastavila cesta na root dat. A komunikoval by jen na 127.0.0.1. Což by bylo i bezpečné.
Yuhů
Profil
To kešování stojí za to vysvětlit.

> cache při x-tém přístupu. Ve starší verzi se dá pozorovat
> že browser poprvé stáhne obrázky, pak se
> zobrazují ihned ale jednou za čas se znovu zobrazují postupně

takhle se prohlížeče chovají v tom případě, kdy souborům nenastavíte žádné pořádné kešování. V tomhle případě by se hodila dlouhá expirace. Podívejte se do keše prohlížeče na soubory -- uvidíte tam sloupeček "Platí do". To je expirace. Já ji u obrázků nastavuji asi na rok, Google nastavuje dokonce do roku 2038. Prohlížeč ani proxyna si potom na takový obrázek téměř jistě podruhé nesáhne celý rok.

Konkrétní nastavení expirace se dělá různě, ale v zásadě potřebujete buďto PHP, které dokáže setnout hlavičky, nebo dobrý hosting s povoleným .htaccess.

Každopádně si přečtěte můj překlad kešovacího návodu Marka Nottinghama. Zjistíte, že to čtení z disku je asi nakonec zbytečné.
Palidi
Profil
Díky za inspiraci, zkusím to v apache nastavit. Bude ale asi trochu problém udržet konzistenci - pokud se něco změní bude to muset dostat nové jméno.

Tím se ale neřeší druhá část - aby si uživatel (hráč) mohl přispůsobit design. Ono to možná vypadá zbytečně ale v současné době máme 16.000 gubernátů což je cca 8000 hráčů (někteří mají gubernátů více). Mezi nimi se najde spousta lidí kteří mají dost času a tohle je baví. A stačí když jeden udělá něco pěkného nebo užitečného a ostatní si to od něj převezmou.
izsak
Profil
S CSS by bola jedna možnosť "unikátne ID webu": http://hulan.info/blog/?item=pouzivate-unikatni-id-vaseho-webu
Užívateľ by si upravil vlastný, užívateľský CSS súbor, čo zvláda aj IE.
Palidi
Profil
ID webu jsem doplnil. Zkoušel jsem to v Opeře - tam to chodí. Ve Firefoxu dělám někde chybu resp. buďto hledám špatně adresář mého profilu nebo se to musí někde explicitně povolit. Což se ale asi někde dá najít. Když už někdo bude předělávat komplet styly tak mu asi nebude vadit nutnost přidávat všude ID webu.

Nastal ale stejný problém. V css používám obrázky pozadí (naopak v html které je generované serverem je nikde nepoužívám což umožňuje kompletní změnu designu jen přes css.). IE bez problému použije url('file:// ... Opera a Firefox ne. Opět je jasné že jde o bezpečnost.

Navíc stále zbývá vyřešit aby si uživatel mohl předělat menu což jsou statické (negenerované) html. Jde o hru - o cca 50-ti různých stránkách (nová verze jich bude mít o něco více). Hlavní menu tvoří levý frame a podmenu horní frame. Což umožňuje rychlou orientaci. Hráči u hry stráví několik minut až hodin denně takže ergonomie je důležitá. U starší verze bylo rozložení menu pevně dáno. Protože to hráčům občas nevyhovovalo tak si dělali různé nadstavby. Proto chci mít rovnou design menu přizpůsobitelný.

Asi to budu stejně muset vyřešit tím uživatelským http serverem. S nastavením cache u apache si pohraju až to budu mít ve finální verzi. To bude určitě přínos. U staré verze jsme experimentovali i s komprimací obsahu - ale občas to někomu zlobilo tak jsme to vypli.

Někdy mi to připadá že mi praskne hlava :-) Například se mi nedaří zjistit co dělám špatně že mi v IE (a jen v IE) nezůstávají cookies perzistentní. Už jsem vyzkoumal že mi tam apache míchá nějaké své hlavičky.

Ale tohle je super web. Já hledal spoustu věcí v dokumentacích msdn, mozilly, opery a w3c. Kamarád mi říkal že zatím vše co potřeboval našel tady. Tady se dají najít některé věci podstatně rychleji. Prostě super. A že mi někdo odpoví v konferenci to je taky super. Díky.
lukysy
Profil
Palidi Můžu se zeptat o jakou onlajnovku se jedná? Vzpomínám si, že u některé bylo možné uložit obrázky na disk, ale jestli jich nebylo více.
Palidi
Profil
Nechtel jsem z toho delat reklamu proto jsem ji necitoval. Pripadne at to moderator smaze i s tvym dotazem. Red Dragon http://www.rd2.cz.
Yuhů
Profil
odkaz nevadí, naopak je mi ctí, že tady máme někoho od Red Dragona.

S tím kešováním a přejmenováním -- ano, pokud se něco změní, musí to dostat nové jméno. Což je ale spíše dobře, protože i kdybyste to zipovali do balíčku pro stažení na lokál, tak tam by se to taky muselo raději přejmenovávat, aby se lidem nepletly staré a nové verze.

ID webu je dobrý nápad. Kdysi jsem to taky používal, ale když jsem to zrušil, nikomu to nechybělo.

Ještě jeden nápad -- možná by na to načítání fungovalo, kdyby se danému serveru v prohlížeči přenastavila bezpečnostní zóna. Ale přiznávám, že tomuhle nerozumím.
Toto téma je uzamčeno. Odpověď nelze zaslat.