Autor Zpráva
vacjos
Profil *
Ahoj,
chtěl bych nějak udělat pomocí js, aby se při prohlížení mých webových stránek na CD-ROM načítal jiný css a externí js s funkcemi než když tu samou stránku z CD-ROM spustim a na tomto PC a budu mít zapnuté internetové připojení. Prostě rozlišit, vzhled a chování stránek, pokud někdo má nebo nemá PC připojeno na net. Jak zapsat pro toto funkci?

Např něco jako. If existuje soubor na "http://www.jakpsatweb.cz/etc/patka.js" a "http://www.jakpsatweb.cz/etc/jpw.css" , tak ho použij, jinak použij lokální "funkce.js" a "styl.css".

Lze to nějak?

Lze navíc nějak zaznamenat na serveru (v mém příkladu na "http://www.jakpsatweb.cz", zda tento soubor někdo tímto způsobem využil, kdy a kdo (např. IP)?

Dík
Joker
Profil
chtěl bych nějak udělat pomocí js, aby se při prohlížení mých webových stránek na CD-ROM načítal jiný css a externí js s funkcemi než když tu samou stránku z CD-ROM spustim a na tomto PC a budu mít zapnuté internetové připojení.

Stačí prostě na CD vypálit skriptové a stylové soubory s jiným obsahem, ne? :-)

edit: Joaha, předtím jsem to pochopil jinak.

Primitivní řešení je třeba takovéhle:
<link rel="stylesheet" href="lokalni.css">
<link rel="stylesheet" href="http://example.com/vzdalene.css">

...přičemž deklarace ve vzdalene.css by přepisovaly deklarace v lokalni.css
Tzn.:
- načte se lokalni.css
- pokud není připojení na Net, nenačte se vzdalene.css a tím pádem se použijí deklarace v lokalni.css
- pokud je připojení na Net, načte se vzdalene.css a přepíše deklarace z lokalni.css

Respektive ve vzdalene.css mohou být přepsané jen ty deklarace, které jsou skutečně různé.
vacjos
Profil *
Chtěl bych tímto způsobem mít možnost měnit vzhled a chování těchto stránek na CD-ROM. Na webu bych změnil nastavení např. css (třeba jen barvu pozadí) a web na CD-ROM (pokud by byl uživatel online) by vypadal jinak (nová barva pozadí), dle mého aktuálního nastavení. Stejně tak některé funkce.

Jak zapsat v javascriptu podmínku, zda nějaká funkce existuje nebo ne, aby to nehodilo chybu, když by danou funkci nenašel. Pokud funkce existuje, tak se provede, jinak ne.
vacjos
Profil *
A jak to udělat s js?
Joker
Profil
vacjos
A jak to udělat s js?
Tam by to šlo podobně... například by byla funkce isOnline, kde by v lokálním souboru bylo return false; a ve vzdáleném return true;
A další funkce by se mohly rozhodovat podle toho.
vacjos
Profil *
A to lze mít ve dvou souborech (lokálním a vzdáleném) funkci se stejným názvem isOnline? Myslim, že to tak nejde?

Potřebuji funkci, která by načetla buď lokální nebo vzdálený js. V každém z těchto souborů by pak byla stejně nazvaná funkce, ale každá by dělala něco jiného.
Joker
Profil
vacjos
A to lze mít ve dvou souborech (lokálním a vzdáleném) funkci se stejným názvem isOnline? Myslim, že to tak nejde?
Nejsem si jistý, nakolik to je "košer" řešení, ale funguje to a žádné chyby ani varování to nenapíše (Opera, FF, IE7). Prostě platí ta definice, která je jako poslední.

(edit: rozšířeno)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: