Autor | Zpráva | ||
---|---|---|---|
Glumik Profil * |
#1 · Zasláno: 9. 5. 2007, 14:53:03
Proc tohle nechce fungovat???
<script> <? $jeZapnutyJavaScript = 'ano'; ?> </script> <noscript> <? $jeZapnutyJavaScript = 'ne'; ?> </noscript> <? if($jeZapnutyJavaScript == 'ano'){ echo "JavaScript je zapnutý."; } elseif($jeZapnutyJavaScript == 'ne'){ echo "Zapnìte si prosím JavaScript, tato stránka jej vyžaduje."; } ?> |
||
Inpocasi Profil |
#2 · Zasláno: 9. 5. 2007, 15:12:03
<script>
<? $jeZapnutyJavaScript = 'ano'; ?> </script> Tag <script> nijak neovlivňuje v tomto případě chod php. Takže to normálně proběhne a v první podmínce bude vždy true - vždy vypíše JavaScript je zapnutý. Doufám že to tak je. |
||
Glumik Profil * |
#3 · Zasláno: 9. 5. 2007, 15:18:40
Inpocasi
Tohle jsem zkousel a nefungovalo to, pri zapnutem i vypnutem JS to porad vypisuje hlasku "Zapněte si prosím .....................". |
||
roberta Profil |
#4 · Zasláno: 9. 5. 2007, 15:21:52
tento kód bude mať po spustení v premennej $jeZapnutyJavaScript vždy hodnotu 'ne'
|
||
Glumik Profil * |
#5 · Zasláno: 9. 5. 2007, 15:24:22
roberta
I v pripade zapnuteho JS? Nevis, jak tohle vyresit? |
||
Davex Profil |
#6 · Zasláno: 9. 5. 2007, 15:40:51
<script> a <noscript> se vyhodnocuje až u klienta, kdežto <? ?> na serveru. Čiliže to PHP je lepší vyhodit a chybovou hlášku dát rovnou do <noscript> .
|
||
Glumik Profil * |
#7 · Zasláno: 9. 5. 2007, 15:48:29
Davex
To bude asi nejlepsi reseni, ale ja jsem chtel z promennou v <noscript> dale pracovat, napr. zobrazit u nejakeho prvku, ktery ovladam pres onchange tlacitko, kdyby nebyl JS zapnuty atd. |
||
roberta Profil |
#8 · Zasláno: 9. 5. 2007, 15:48:38
Glumik
<script> //príkazy scriptu </script> <noscript> Zapnite si prosím JavaScript, tato stránka jej vyžaduje. </noscript> |
||
Davex Profil |
#9 · Zasláno: 9. 5. 2007, 15:51:48
Glumik
Přizpůsobovat kód stránky schopnostem klienta je z různých důvodů nešťastné řešení. Musí se potom počítat s různými kešovacími mechanismy atd. |
||
Glumik Profil * |
#10 · Zasláno: 9. 5. 2007, 15:53:30
roberta
Ano o tom vim z Skripty a styly , ale jak jsem jiz uvedl v predeslem prispevku, potreboval bych s tou promennou v <noscript> dale pracovat. |
||
Glumik Profil * |
#11 · Zasláno: 9. 5. 2007, 15:54:58
Davex
No tak nezbyde nic jineho nez to udelat klasickym textem. :o) |
||
Hooonza Profil * |
#12 · Zasláno: 9. 5. 2007, 16:00:50
A co takhle:
<style> .nic {display: none;} .ukaz {display: inline;} </style> <div class="ukaz" id="hlaska">Zapněte si prosím JavaScript, tato stránka jej vyžaduje.</div> <script> document.getElementById('hlaska').className="nic"; </script> Při zapnutém javaskriptu se hláška změnou stylu skryje, při vypnutém je vidět... |
||
Glumik Profil * |
#13 · Zasláno: 9. 5. 2007, 16:07:14
Hooonza
No a jak to spojim s php, abych ziskal nejakou promennou z JS? |
||
Hooonza Profil * |
#14 · Zasláno: 9. 5. 2007, 16:31:11
Glumik
Upozorňuju, že ve svém příkladu (úplně první příspěvek nahoře v této diskusi) jsi žádnou proměnnou z JS nezískal. Javascript tam vůbec není použitý. Takže: jakou proměnnou z JS potřebuješ? Obecně PHP získává proměnné od uživatele prostřednictvím formuláře. Vymysli formulář, vyplň do něj proměnnou pomocí javascriptu a pak jej nech odeslat, máš tím proměnnou v PHP. Pokud potřebuješ dostat proměnnou z PHP do JS, pak ji jednoduše do skriptu vytiskneš: <script> <?php echo 'a = "mojepromenna";'; ?> if (a=="mojepromenna") alert ('JOJ!'); </script> |
||
DJ Miky Profil |
#15 · Zasláno: 9. 5. 2007, 16:34:16
To bude asi nejlepsi reseni, ale ja jsem chtel z promennou v <noscript> dale pracovat, napr. zobrazit u nejakeho prvku, ktery ovladam pres onchange tlacitko, kdyby nebyl JS zapnuty atd.
Zajímalo, jak bys chtěl pomocí JS pracovat s hodnotou proměnné vypsané, pokud je JS vypnutý. |
||
Glumik Profil * |
#16 · Zasláno: 9. 5. 2007, 16:45:57
Hooonza
Udelam to radeji tim prvnim zpusobem, ktery jsi tady popisoval, protoze ja neumim php-JS a JS-php, t.j. oboustranne. :o) |
||
Hooonza Profil * |
#17 · Zasláno: 9. 5. 2007, 16:48:19
Glumik Taky myslím, že plést tam ještě PHP, pokud k tomu nemáš speciální důvod a jde ti jen o to, aby si uživatel zapnul JS, je zbytečně složité:-)
|
||
Glumik Profil * |
#18 · Zasláno: 9. 5. 2007, 16:55:43
DJ Miky
Dobre, mam formular ve kterem mam selecty ovladam pres onchange='this.form.submit()' za podminky, ze klient ma zapnuty JS. Pokud klient nema zapnuty JS, tak se onchange neoprovede a on bude nucet kliknout za submit. Proste se me jedna o esteticky vzhled, zapnuty JS nezobrazovat submit, vypnuty JS zobrazovat submit a k tomu prece potrebuji promennou k podmince. if(){ $zobrazitSubmit = NULL; } else { $zobrazitSubmit = "<input type='submit' .........>"; <form> <? echo $zobrazitSubmit ?> <form> Pochopil jsi o co se me jedna? :o) |
||
Glumik Profil * |
#19 · Zasláno: 9. 5. 2007, 16:57:47
Hooonza
No specialni duvod bych mel, viz prispevek pro DJ Miky :o) |
||
Hooonza Profil * |
#20 · Zasláno: 9. 5. 2007, 17:13:58
Glumik
variace na -> viz výše: <style> .nic {display: none;} .ukaz {display: inline;} </style> <input type=submit class="ukaz" id="cudlik"> <script> document.getElementById('cudlik').className="nic"; </script> |
||
Glumik Profil * |
#21 · Zasláno: 9. 5. 2007, 17:19:04
Musim si dat pauzu, protoze od rana uz sedim u PC a tak to i vypada. :o)
Problem byl vyresen zasluhou scriptu od Hooonza staci mensi zmena a docilim toho, ceho jsem chtel docilit, t.j. nezobrazit submit pri zapnutem JS a zobrazit submit pri vypnutem JS. Ted je vsechno po esteticke strance v poradku, jsem konecne spokojen. Diky Hooonza za nakopnuti. :o) |
||
Glumik Profil * |
#22 · Zasláno: 9. 5. 2007, 17:20:09
Hooonza
Byl jsi rychlejsi, prave takova zmena byla nutna. Jeste jednou dekuji. |
||
Davex Profil |
#23 · Zasláno: 9. 5. 2007, 17:41:50 · Upravil/a: Davex
A co máš proti tomuto?
<noscript><input type="submit"></noscript> |
||
Hooonza Profil * |
#24 · Zasláno: 10. 5. 2007, 14:46:13
Davex
Třeba toto. Podle tagu <noscript> v IE nepoznáš, jestli je skript zapnutý nebo ne. |
||
Davex Profil |
#25 · Zasláno: 10. 5. 2007, 15:36:46 · Upravil/a: Davex
Mám pocit, zda se nejedná o zastaralou informaci. Když se JavaScript v IE6 vypne přes záložku "Zabezpečení / Zóna internet", tak se obsah <noscript> normálně zobrazuje.
|
||
Hooonza Profil * |
#26 · Zasláno: 10. 5. 2007, 17:26:16
Davex Jenže - kdo se na to může spolehnout? A proč to dělat?
|
||
Davex Profil |
#27 · Zasláno: 10. 5. 2007, 19:09:32
Nikomu to nevnucuji. Jenom to v tomto konkrétním případě vypadá elegantněji.
|
||
los Profil * |
#28 · Zasláno: 10. 5. 2007, 21:14:08
Třeba toto. Podle tagu <noscript> v IE nepoznáš, jestli je skript zapnutý nebo ne.
Je takýto problém IE popísaný aj na nejakej dôveryhodnej stránke? Pretože takto je to len blud. |
||
Hooonza Profil * |
#29 · Zasláno: 11. 5. 2007, 15:25:28
Davex
Jasně, důležitá je i osobní zkušenost každého webisty:-) A asi nejdůležitější je hlavně to, jak to dopadne u návštěvníka:-) |
||
Davex Profil |
#30 · Zasláno: 11. 5. 2007, 16:35:34
los
Ten zmiňovaný problém s ignorováním <noscript> se pravděpodobně týká IE verze 4.01 (Client Side JavaScript - Don't use it). Ale v této verzi nebude fungovat ani ten skript s document.getElementById . |
||
Téma pokračuje na další straně.
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0