Autor | Zpráva | ||
---|---|---|---|
valecekm Profil |
#1 · Zasláno: 15. 7. 2009, 23:28:58
Zdravím všechny, kteří sem koukli :-).
Mám následující problém: Do kódu javascriptu potřebuji vypisovat za pomocí PHP různé údaje. Vyřešil jsem to tak, že stránka má příponu .php a v ní jsou náležité scripty, ale při volání samozřejmně to nevypadá takto: <script type="text/javascript" language="JavaScript" src="script.js"></script> ale takto: <script type="text/javascript" language="JavaScript" src="script.php"></script> Chtěl bych se vás zeptat, jestli je to hodně hrubá chyba a nebo ne. Samozřejmně že to funguje a jinak to ani asi já vyřešit nemůžu, ale pokud by někdo věděl jak a lepšejš, tak bych byl rád. |
||
tiso Profil |
#2 · Zasláno: 15. 7. 2009, 23:32:01 · Upravil/a: tiso
valecekm: rieši sa to tak, že JS ostane JS, a premenné sa vypíšu do HTML:
<script type="text/javascript" language="JavaScript" src="script.js"></script> <script type="text/javascript"> //sem vypis premenne pomocou PHP </script> |
||
valecekm Profil |
#3 · Zasláno: 15. 7. 2009, 23:34:56 · Upravil/a: valecekm
tiso
takhlenc to praveze mit nemuzu to je ten problem ;-)...kdybych to takto mohl mit, tak to tak mam. :-) Protoze vepisovat do html zdrojace asi zhruba pres 450radku javascriptu je sebevrazda. |
||
Chamurappi Profil |
#4 · Zasláno: 15. 7. 2009, 23:39:01
Reaguji na valecekm:
Co je zač ten skript, že je v něm 450 řádků, které musí generovat PHP? |
||
MythicalMe Profil * |
#5 · Zasláno: 15. 7. 2009, 23:42:14
Proč by to měla být hrubá chyba? U stránek web 2.0, které mohou obsahovat i tisíce řádku JS, je to běžné řešení. Jenom nastavit Content-Type na application/x-javascript.
Vždyť ASP.NET to běžně používá - .axd soubory, které poskytují JS prohlížečí, jsou serverové handlery generující kód JS. |
||
valecekm Profil |
#6 · Zasláno: 15. 7. 2009, 23:43:26 · Upravil/a: valecekm
Chamurappi
Hoooodně dlouhej javascript, kterej otevírá nová okna jako samostanej objekt v jednom již zmiňovaném tématu ohledně designu. téma zde Nejde oto co v něm je, ale oto jestli to tak může bejt. pozn.: PHP negeneruje celej tento js, ale jen a pouze jeho části. |
||
Chamurappi Profil |
#7 · Zasláno: 15. 7. 2009, 23:49:55
Reaguji na MythicalMe:
„Proč by to měla být hrubá chyba?“ Není to hrubá chyba, ale obvykle není nutné, aby statická data servírovalo něco chytřejšího. Stejně tak se obvykle negenerují stylopisy serverovým skriptem. „Jenom nastavit Content-Type na application/x-javascript.“ Není třeba. „Vždyť ASP.NET to běžně používá“ Kód, který chrlí ASP.NET, bych jako vzor nikdy nedával. Reaguji na valecekm: „Hoooodně dlouhej javascript“ Musí ho celý generovat PHP? „oto jestli to tak může bejt“ Může. |
||
valecekm Profil |
#8 · Zasláno: 15. 7. 2009, 23:55:25
ok díky chlapy ;-). Já už se lek, že zase dělám nějakou pták..vinu, která je jen můj výmysl a tudíž se to takto provádět nemá. Dík moc
|
||
Chamurappi Profil |
#9 · Zasláno: 15. 7. 2009, 23:59:03
Reaguji na valecekm:
Ptákovina to skoro určitě je. Bude existovat čistější řešení. JavaScript je programovací jazyk, zná proměnné, zná funkce atd. — takže všechny vstupy můžeš prakticky vždy dostat na jedno místo a tohle (malé) místo protlačit do HTML. |
||
tiso Profil |
#10 · Zasláno: 16. 7. 2009, 00:05:57
valecekm: nie som si istý či si pochopil ako som to ja a Chamurappi myslel.
PHP by generovalo iba dynamicky sa meniace časti toho JS, časti ktoré sa nemenia by boli v tom externom skripte. Ale bez konkrétnejšieho príkladu čo presne tam potrebuješ generovať a čo sa bude meniť sa nedá konkrétne poradiť... |
||
valecekm Profil |
#11 · Zasláno: 16. 7. 2009, 00:06:28 · Upravil/a: valecekm
Chamurappi
NO asi už začínám přemejšlet na vyšší úrovni a začíná mě něco chytřejšího napadat ;-), takže dík že jsi mě teď nakopl tím správným směrem. Jdu skusit a pokusit se to tak teda udělat. Otázkou je jestli to vezme ten js ty proměnné(proměnné v javascripte), které tam samostatně do html propašuji a jim přidělím hodnotu zjištěnou pomocí PHP a nebo ne. Je to trošku složitejší ;-), ale uvidíme. |
||
valecekm Profil |
#12 · Zasláno: 16. 7. 2009, 00:18:41
Jooo. Jooo! :-D Bereto žer..to :-D. Uf, takže odkládám ruce od předešlého řešení a proměnné z PHP budu vměstnávat do proměnejch v JS samostatně v html. Teda díky moc, že jste mě nakopali tím správným směrem. Já jen budu teďka doufat, že to v tom dloooohým javascriptě někde nezaprotestuje. Ještě jednou dik.
|
||
valecekm Profil |
#13 · Zasláno: 16. 7. 2009, 01:21:09 · Upravil/a: valecekm
Dofám, že me zato neubijete, že jsem nezaložil nové téma, ale tento problém souvisí právě stím co jsme tu řešili, tak to píšu sem.
Proměnou sem použil na těch místech kde jsem potřeboval a všechno šlapalo, než sem došel na jeden zádrhel čehož sem se obával. Lépe to vystihne asi příklad: <script type="text/javascript"> button.setAttribute("title", "Minimalizovat") </script> Tak tento promlém sem vřešil nějak takto: <script type="text/javascript"> jedna="Minimalizovat"; // část kódu button.setAttribute("title", jedna) //část kódu </script> Šlo o to předání hodnoty v proměnné jedna. Ale zádrhel nastal zde: <script type="text/javascript"> // ... if (/Minimalizovat/i.test(sourceobj.getAttribute("title"))) // ... </script> Jak sem se to pokusil vyřešit?: <script type="text/javascript"> //... if (Minimalizovat.test(sourceobj.getAttribute("title"))) //.. </script> Nejde chyba a následné znefunkčnění. Skoušel jsem si hrát s různejma lomítkama kombinovat ruzně uvozovky i takto: <script type="text/javascript"> //... jedna="Minimalizovat"; jedna_p='/'+Minimalizovat+'/'; // skousel i dvojte uvozovky //... if (jedna_p.test(sourceobj.getAttribute("title"))) //pozn.: to "i" tam není podstatne co jsem teď vynechal i předtím </script> Prostě chyba jako .... Nevíte někdo jak to donutit aby se mi tam předala hodnota té proměnné a přitom to zůstalo funkční? |
||
valecekm Profil |
#14 · Zasláno: 16. 7. 2009, 01:31:42
pozn.:UŽ OPRAVENO A VYŘEŠENO, OMLOUVÁM SE.
|
||
Časová prodleva: 15 let
|
0