Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz trisztan94 #2109 üzenetére
Itt volt erről szó, ott linkeltem egy témában releváns topicot:
http://prohardver.hu/tema/javascript_topic/hsz_3365-3369.htmlNémi pontosítás az általad írtakhoz:
"A return false annyit csinál, hogy az alapértelmezett eseményt nem engedi lefutni."
Pontosítva: jQuery-ben az eseménykezelőkbe tett return false; ekvivalens az event.preventDefault() ÉS event.stopPropagation() hívásokkal. Tehát a böngésző alapértelmezett műveletének végrehajtását akadályozzuk meg ezzel, ÉS megakadályozzuk az esemény buborékként való felúszását a DOM-fában, megakadályozva egyúttal azt, hogy a szülők eseménykezelői értesítve legyenek az eseményről.
Stimmel, amit írtál, csak ezzel a kiegészítéssel lesz teljesen igaz."Ha ki van töltve minden akkor return true (bár mondjuk ez az alapértelmezett, de én szeretem kiírni)"
Ez mondjuk így ebben a formában nem teljesen helytálló, mert nincs "alapértelmezett return true", hanem mivel nem tértünk vissza false-szal az eseménykezelőből (vagy hívtunk event.preventDefault()-ot és event.stopPropagation()-t), ezért engedjük, hogy a böngésző alapértelmezett művelete lefusson (ami - ebben már teljesen igazad volt - a form elküldése).Alapvetően jókat írtál, csak pici korrekcióra szorult, hogy teljes legyen a kép, hátha hasznos valakinek.
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Speeedfire #2107 üzenetére
Esetleg megpróbálhatod az .ajaxSuccess()-szel globálisan lekezelni az eseményt, úgy, hogy itt inicializálod a tooltipet, esetleg némi késleltetéssel, ha szükséges.
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz -=Flatline=- #2128 üzenetére
"Az totál jogos kérdés, hogy miért jobb nekem, ha két közepes méretű adatbázis lesz betöltve, nem pedig egy nagy, de vezéreljenek mondjuk magasztos átláthatósági szempontok "
Rossz megközelítés. Neked nem kell olvasgatnod az adatbázist, ne azt akard átlátni, legfeljebb a struktúráját alakítsd ki értelemszerűen. Jó esetben nem közvetlenül az adatbázisban fogsz kotorászni, hanem készítesz egy megfelelő UI-t arra, hogy szűrni lehessen az adatbázisban tárolt adatokra. Az tök más kérdés, hogy kezelhető legyen, az adatok megfelelően legyenek normalizálva, legyenek szétbontva logikusan a táblák, majd a lekérdezéskor legyenek jól összekapcsolva. A 78 ezer mező meg aztán végképp nem érv, hogy szétbontsd, az a mennyiség jól indexelt táblák és normálisan megírt lekérdezések esetén tényleg semmi egy mai átlagos adatbázismotornak, másodpercnek pici törtrésze alatt lehet ennyi adat közt keresni."78ezer rekordos már így is ami van és 15 mezőt tartalmaznak. Húzós dolgozni vele, ezt kell az upgradekor szétbontanom és, ha már itt tartunk, próbálnám egyszerűsíteni a júzer dolgát."
Hogy a júzernek mennyire van egyszerűsítve a dolga, ahhoz aztán abszolúte SEMMI köze annak, hogy az adattáblákba mennyi rekord van feltöltve, és a háttérben lévő adatbázis+táblák milyen struktúrájúak. Attól még lehet nagyon felhasználóbarát egy felület, hogy a háttérben lévő adatbázisszerkezet egy fostalicska, és fordítva is igaz lehet, ha rosszul csinálják.
A 15 mezőn mondjuk érdemes lehet elgondolkodni, kell-e, hogy mindegyik azonos táblában legyen, vagy érdemes inkább szétbontani, majd lekérdezéskor összekapcsolni (normalizálás).Egyébként ha ilyen bonyolultan fogalmazod meg a kérdést, akkor elmehet sokaknak a kedve, stackoverflow-n sem sokan tolongtak, pedig azért ott szoktak lenni válaszok, szerintem a "Complex autocomplete query" sem túl jó címválasztás, nem érzem igazán komplexnek a feladatodat (bár így fél 3-kor nem sokat fogtam fel belőle, mert annyira cifráztad, különösebben nem is gondolkoztam rajta), mégis elrettentő lehet a cím; valamint egy szemléltető ábra, a form megmutatása, valami tök egyértelmű rávezetés olykor többet mond minden szónál.
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz -=Flatline=- #2134 üzenetére
Uhh, hát ez nagyon csúnya. Egyrészt randa spagettikód, másrészt a rendkívül elavult mysql_* függvényeket használod benne PHP-ben (hivatalosan is deprecated végre, helyette pl. MySQLi-t vagy PDO-t kell használni), harmadrészt az SQL Injectionre és más aljasságok lehetővé tételére mutattál be iskolapéldát.
(Mondjuk session_start()-ot sem látok, de feltételezem, nem a teljes kódot mutattad meg.)$q = $_GET['term'];
if($q=="") return;
honnan akarsz visszatérni? Ezt itt nem egy függvénybe raktad - vagy a kódodban mindez egy függvényben szerepel? Egyébként meg kapsz az arcodba szépen egy PHP notice-t, ha a $_GET['term'] egyáltalán nincs beállítva, szóval annak meglétét ellenőrizni kellene.
A query-t meg prepared statementtel kellene lefuttatni (pl. itt van rá példa: http://www.php.net/manual/en/pdostatement.bindparam.php, LIKE használatánál picit csúfabb, de akkor is jobb: [link], [link], [link], ), de legalábbis ha ragaszkodsz a gagyi, elavult megoldáshoz, akkor escape-elni kellene.if($row['location'] == ""){}else{ ... }
ez is meglehetősen érdekesen néz ki...Ha kódot másolsz be, akkor azután jelöld ki, és kattints a "Programkód" gombra, azért van!
Sk8erPeter
-
Sk8erPeter
nagyúr
És honnan a t×kömből jön ez a "message" változó, amit ki kéne írnia?
PHP kód:
print "update";
Hát ez ebben a formában még nem PHP-kód... De ezzel kapcsolatban lásd Jim-Y hsz.-ét (#2144)... nem ártana egy <?php sem...(#2143) Lacces :
"amin meglepődtem... a .php-nál nem a print-et kellett használni, hanem az echo utasítást! És akkor működött...
(Olyan, mintha a print-tel valami "szeny" is ájtött volna)."
Jaj ne beszélj már butaságokat...
Ezek a lényeges különbségek az echo és print között:
http://stackoverflow.com/questions/234241/how-are-echo-and-print-different-in-php
Egyébként abból a szempontból, amit írtál, kábé semmi... Szóval 10000000%, hogy valamit benézel.kódodból:
success: function (data) {
alert(data);
if(data =='update'){
}
......
}na az ilyeneket érdemes elkerülni. Már volt szó róla a topicban, hogy a szerveroldalról érdemes inkább beszédes információkat visszaadni JSON-ben, és akkor még van esély arra is, hogy értelmesen feldolgozható infókat kapsz.
Itt a hsz. végefelé elég részletesen leírtam az egyszerűsített példa keretében, hogyan is gondolom:http://prohardver.hu/tema/jquery_kerdesek/hsz_2058-2058.html
====
(#2145) Lacces
"Az Interval-on kívül mivel lehet még elérni, hogy ha megjelenik egy <html> tag (ajax után legenerálodik az oldalon) akkor induljon el a függvény?"
<html> tag miért jelenik meg, miért "generálódik le az oldalon"? A kérdés enyhén szólva pongyolán lett megfogalmazva.Sk8erPeter
-
Sk8erPeter
nagyúr
-
Sk8erPeter
nagyúr
válasz spammer #2151 üzenetére
Nem hogy nem probléma, hogy külön fájlban történik a feldolgozás, hanem így jobb (jó).
A success callback-be mondjuk nem ártana egy ellenőrzés, mert attól még, mert a szerver 200 OK-t dobott vissza az AJAX-kommunikáció során, az még önmagában nem azt jelenti, hogy valóban helyesen megtörtént a - példa szerinti - kommentár elmentése.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2153 üzenetére
Hát én ezt a topicban már sokszor fejtegettem, hogy sokkal többet ér a szerverről beszédes információkat visszaküldeni, pl. státuszkódokat arról, hogy minden oké volt-e, stb. Ez mondjuk hatványozottan igaz adatbázisba való feltöltésnél. Egyszerű tartalom-megjelenítésnél is számíthat, mert lehet, hogy 200 OK HTML-kódot kapsz vissza a szervertől, de valami gebasz mégis volt, és azt nem ártana, ha ki tudnád deríteni mondjuk egy beszédes hibakódból/üzenetből, hogy mi is történt. Így felhasználóbarát hibaüzeneteket is ki tudsz írni, mert tudod, hogy milyen esetet hogyan kezelj.
Ettől függetlenül működőképes természetesen, amit használsz, ezt csak a jövőre mondom, hogy szükséged lehet rá, érdemes ráállni arra, hogy JSON-ben küldöd vissza az adatokat a szervertől, státuszkóddal együtt, hogy helyén tudd kezelni."Ja meg ott a form method után volt egy onsubmit="return false", ez is kell bele, ha a jquery kód végén már ott van a return false; ?"
Nem. Feleslegesen teszi bele a válaszadó. Mivel úgy csak az onsubmittal inline kódot is belepasszíroz, miközben pont a submit eseményt kezeli le jQuery-vel, ergo felesleges oda is beírni, hogy return false;. Szóval a kérdés-felvetésed jó volt!Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Sk8erPeter #2154 üzenetére
Mondjuk most látom, hogy ezt arra írta, ha a kérdező mégis ragaszkodik ahhoz, hogy használja a mára már totálisan feleslegessé vált jQuery Form Plugint, amit belinkelt a kérdező ("If you insist on using it").
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2156 üzenetére
Nincs mit, amúgy azóta az általad belinkelt hsz.-t szerkesztettem, hogy kicsit egyértelműbb legyen, hogy az a return false-os onsubmit attribútumba elhelyezett megoldás CSAK akkor kell, ha használod a Form plugint, ami amúgy sem javasolt (kihangsúlyoztam azt a részt, hogy "If you insist on using jQuery Form Plugin", hozzátettem a "- which is NOT recommended -" megjegyzést, meg egy vonallal elválasztottam a korábbi kódrészlettől), szóval gondolom így már egyértelműbb az ott szereplő válasz, ami amúgy helyes volt.
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2159 üzenetére
"url: 'search.php' -t hiába írtam be a beforeSend fölé. Nem nagyon beszélek jquery-ül "
Nem csoda, hogy hiába írtad be ezt, mivel ez csak azt adja meg, hogy hova történik a request elküldése. Nem ártana dokumentációt is olvasni, hátha előbb választ kapsz a kérdéseidre, mint a fórum használatával...window.location.href vagy window.location.pathname felhasználásával pl. egy iffel tudnád szűrni, hogy hol legyen alkalmazva ez a kód, vagy épp hol ne.
Nyomj egy F12-t, kattints a Console fülre, és próbáld ki, mit ad, ha ezt beírod, aztán nyomsz egy Entert.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2161 üzenetére
Nincs mit.
Hát igen, ha meg akarod határozni a működését valaminek, akkor általában a programozásnál kell írni valamit a kódba."de a doksiban nem is ajánlják ezt [link], ezért is gondoltam, hogy hátha van jobb megoldás."
A doksiolvasásnál arra gondoltam előbb, hogy itt pl. le van írva, mire való az url paraméter, szóval onnan könnyen megtudható lett volna >> http://api.jquery.com/jQuery.ajax/
url
Type: String
A string containing the URL to which the request is sent.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2163 üzenetére
Hát akkor totál félreérted az egész AJAX-kommunikációs folyamatot, amit jQuery-vel egyszerűbbé teszel. Teljesen mindegy, hogy épp melyik oldalt böngészed, kérést attól még a szerver felé akármilyen címre küldhetsz, aztán arra a szerver valamilyen módon válaszol.
Példával élve böngészheted az aloldal/kiskutya.aspx-et (most szándékosan nem PHP-s kiterjesztést írtam, hogy ne ragadjunk le ennyire ennél az egynél, erre mindjárt kitérek), de küldhetsz attól még AJAX-szal egy kérést a blabla/nagykutya.aspx címre."de ha más php-t hív le (filter.php)"
Ezek a megfogalmazások elvi hibásak. A kliens-szerver architektúrában a kliensed szempontjából totálisan irreleváns, hogy a szerver PHP-, Java- vagy ASP.NET-alapú (vagy más), a kliensed csak küld egy kérést valamelyik szerver felé, az adott szerver pedig azt kiszolgálja, mégpedig úgy, hogy küld egy bizonyos választ - hogy ezt a háttérben hogyan teszi (mondjuk ASP.NET van a háttérben, vagy PHP-kódokkal bűvészkednek), az teljesen mindegy.
Tehát nem "hív le" semmilyen "php-t" (ennek így értelme sincs túl sok), hanem kérést küld egy adott címre, amire a szerver majd valahogy válaszol, és ennyi. Attól még, mert az URL-ben az szerepel, hogy example.com/ez_egy_nagyon_erdekes_oldal.php, attól még nem is biztos, hogy fizikailag létezik az "ez_egy_nagyon_erdekes_oldal.php" fájl a szerveren, a gyökérben, sőt, lehet, hogy ASP.NET-szerver szolgálja ki az egészet, és egy sor PHP-kód sincs a tárhelyen, és akkor nagyon megvicceltek.
Mindezt csak azért írtam le, mert sokszor találkozni a fórumokban ilyen pontatlan megfogalmazásokkal ("más php-t hív le"), ami a kliens-szerver architektúra meg nem értésére utal (legalábbis hiányosságokra).[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Speeedfire #2168 üzenetére
elég régóta lehet (amúgy gondolom 1.10.3-at akartál írni)
Sk8erPeter
-
Sk8erPeter
nagyúr
-
Sk8erPeter
nagyúr
válasz Speeedfire #2172 üzenetére
Hát nem csoda, mivel ez így rossz.
így már jó lesz:
http://jsfiddle.net/MjsVM/1/Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Speeedfire #2174 üzenetére
És a callback függvényekbe pakolás miért nem jó? Kb. ugyanolyan, mintha lenne egy if-else-ed, csak mégsem, hanem csupán más-más függvény hívódik meg...
Az általában megszokott logika némi módosításra szorul, de nem túl nehéz átültetni másféleképpen.
De ha nem tiszta, hogyan, akkor konkretizáld.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Speeedfire #2176 üzenetére
Még annyi, hogy természetesen a callback függvényeket definiálhatod globálisan elérhető függvényekként is, és akkor a paraméterezésnél pedig csak magát a függvénypointert adod át:
http://jsfiddle.net/MjsVM/3/Hátha így egyszerűbb lesz.
A kódban nézd meg a saveMyShit és dropMyShit függvényeket.Sk8erPeter
-
Sk8erPeter
nagyúr
válasz ahetaton #2179 üzenetére
Konkrétabb példa esetén könnyebb lenne válaszolni. (De ha arra vagy kíváncsi, hogy melyikkel könnyebb, akkor valószínűleg a JS lesz a válasz.)
=======
(#2178) Speeedfire :
hát jól van, igazából mondom, a callback-eket is lehet úgy kezelni, mint egy if-else-t (pl. ha sikeres volt az AJAX-kommunikáció / felhasználó igennel válaszolt, ez fut le, ha nem volt sikeres / felhasználó nemmel válaszolt, amaz fut le), de tény, hogy pár helyen átalakításra szorulhat a kód.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2183 üzenetére
Tulajdonképpen egész konkrétan mit szeretnél megvalósítani?
Hasonló itt van:
http://benalman.com/code/projects/jquery-bbq/examples/fragment-basic/
http://benalman.com/code/projects/jquery-bbq/examples/fragment-advanced/
http://benalman.com/code/projects/jquery-bbq/examples/fragment-jquery-ui-tabs/
http://benalman.com/code/projects/jquery-bbq/examples/deparam/Ben Alman elég igényes cuccokat szokott írni, pl. a fenti plugin bekerült a Drupal 7 core-ba is az overlay-ek kezelésére, azért az már jelent valamit.
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2185 üzenetére
Na, linkeld már be plíz, ahol írják stackoverflow-n, hogy ez jobb, kíváncsi vagyok az indokokra. Kösz!
(#2186) Muton :
a .live() deprecated. .on()-t érdemes helyette használni.
Amúgy a callback-be tett sima return false; is megoldja:
http://prohardver.hu/tema/jquery_kerdesek/hsz_2110-2110.htmlSk8erPeter
-
Sk8erPeter
nagyúr
Nincs mit, de amúgy csak azért linkeltem azt a hsz.-t, mert találkozhatsz olyan problémával, ami miatt mindkettő kell: event.preventDefault() ÉS event.stopPropagation() - ami ekvivalens a return false-szal (tehát hogy esetleg nem elég csak az event.stopPropagation()). Ezt a részt nem muszáj lecserélned, ha működőképes a kódod, de nem árt, ha tudsz róla.
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2192 üzenetére
Ja, sehol nem írták, hogy jobb lenne...SŐT, pont az általad harmadikként linkelt topicban írták buzinagy betűkkel, hogy "THIS PLUGIN IS NO LONGER MAINTAINED! (2012-02-25) Please use other plugins like jQuery hashchange. – Xitcod13 Aug 13 '12 at 22:20"
Ja, meg az sem mindegy, hogy majd' egy évvel korábban született az a hsz., amiben azt ajánlják.
"Ja, meg itt is a harmadik helyen van"
Most ez komoly? És akkor mi van?(#2193) martonx :
az azért nagyon nem mindegy, hogy van-e fallback, már ha jól értem, amit mondasz, hogy a szutykos IE-kben is működjön.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Sk8erPeter #2194 üzenetére
Jó, most látom, hogy f@×zságot írtam, mert azt a kommentet nem az Addressre írják, hanem erre.
(ja, és ami nem a harmadikként, hanem másodikként linkelt oldalon van)
Bocs, tegnap már kissé fáradt voltam.
Most ránéztem a honlapjukra, meg megnéztem a GitHubos projektoldalt, ott 2013. január végi commitok is vannak.
Akkor sorry.
Hát nem tom, melyik a "jobb", majd Te eldöntöd magadnak.Mondom, a bbqplugin, amit én ajánlottam, az bekerült a Drupalba, gondolom vmi oka csak volt, meg Ben Alman pluginjeiben már bízom, mert amit láttam tőle, az jó vóóót, szóval én pusztán szubjektív döntés alapján választanám azt.
Mindenesetre az semmiképpen sem érv, hogy egy plugineket top 10/20/30/100/12337612-listába tévő oldal hányadikként tüntet fel egy adott plugint...
De teljesen mindegy, ha működik mindkettő, és jól, vannak elégedett felhasználói mindkettőnek, akkor az a lényeg, hogy faszán megy, nem?
Szóval dönts szimpátia alapján, jó lesz ez a jQuery (és nem "Jquery" ) Address Plugin is.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2196 üzenetére
ha a "az urlt rendesen irja ki" azt jelenti, hogy hash nélkül, akkor jogos, vhogy úgy emlékeztem, hogy ennél a modern böngészőkben ahhoz hasonlóan változtatja az URL-t, ahogy Te elvárnád, viszont van fallback hash fragment segítségével...
Akkor bocsánat, tévedtem, rosszul emlékeztem...Viszont most néztem meg IE8-ban, és az általad preferált Address plugin pont úgy működik, ahogy fentebb vakerásztam a másik pluginről, de ezek szerint pedig akkor az általam ajánlott ezt mégsem tudja, mert ott mindenképp hash fragmentekkel dolgozik. My bad, akkor visszavonom.
Szóval használd ezt, ja.
Tehát pl. ez a cím jelenik meg Chrome-ban oldal-újratöltés nélkül, ahogy kell, ráklattyintáskor:
http://www.asual.com/jquery/address/samples/express/about
de ez IE8-ban:
http://www.asual.com/jquery/address/samples/express/#/aboutMost jó sokat dumáltam úgy, hogy végül kiderült, hogy nincs is igazam. Hát érted, néha ilyennek is kell történnie.
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2183 üzenetére
Most volt egy kis időm, megnéztem jobban, szerintem pont nem szar a dokumentációja. Legalábbis ahogy elnéztem, pont leírja, mi mire való, és példát is mutat rá. Demóoldal is van külön.
$.address.change(function(event) {
// do something depending on the event.value property, e.g.
// $('#content').load(event.value + '.xml');
});
$('a').click(function() {
$.address.value($(this).attr('href'));
});======
(#2198) martonx : hát azt tudom. Amúgy teljesen jogos is, én meg tudod, hogy egyetértek.
Ha tehetném. a neten lévő összes oldalra kiraknék IE9 alatti böngésző detektálására scriptet és szerveroldali kódot is, és egyik oldalon sem biztosítanék outputot annak, aki ilyen retket használ. (Csak olyat, amiben egy-két kedves szóval illetem a böngészőjét.) Hadd legyenek ösztönözve egy kicsit a felhasználók és a fejlesztők egyaránt...[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
Igen, minden egyes topicban ez a szokásos érv, és erre is vonatkozik, hogy legyenek ösztönözve a fejlesztők és felhasználók egyaránt. (Igen, tudom, hogy vannak kifejezetten ActiveX-es szarságok, meg a többi mesét, már elég sok topicban ki lett vesézve, miért vannak egyes nagy cégek IE-hez kötve... Ezek tudatában írtam, amit írtam. Büntetőjogi felelősségem teljes tudatában, és józanul. )
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz ahetaton #2208 üzenetére
Itt MINDEN div hover állapotát módosítod JS-sel, nem csak azokat, amik a fantáziadús "div" class-névvel vannak ellátva. Ha utóbbit szeretnéd, akkor a selectorod $('div') helyett legyen $('.div').
$('div').hover(
function () {
$(this).css({"background-color":"red"});
},
function () {
$(this).css({"background-color":"blue"});
}
);ez pontosan megfelel ennek a CSS-kódnak:
div {
background-color:blue;
}
div:hover {
background-color:red;
}Amit CSS-ben meg lehet oldani, azt soha NE JavaScripttel oldd meg! Ezenkívül kerüld az inline style-attribútum használatát, tehát a HTML-kódod csak ennyi legyen (nincs style-attribútum):
<p>Move mouse on any square below to see the result:</p>
<div class="akarmi"></div>
<div class="akarmi"></div>
<div class="akarmi"></div>
Éppen ezért ha pl. háttérszínekről és hasonló stílusmódosításokról van szó (amit CSS-sel meg lehet oldani), akkor érdemes inkább csak class-okat hozzáadni és elvenni adott elemektől, de egyébként mindent CSS-ben megadni.Ha pedig azt szeretnéd, hogy változzon egy másik div, ha egy adott div föléviszed az egeret, pl. adj id-t a forrás- és céldivnek, és valahogy így módosítsd (itt láthatod, hogy csak class-t adok hozzá, ill. veszek el):
Ha valamelyik része nem tiszta, kérdezz vissza nyugodtan.
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Speeedfire #2211 üzenetére
Miért, ezzel mi a gond? Nekem bejövős, megnéztem a code sample-öket, elég jónak tűnik.
(#2210) ahetaton : szívesen.
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2220 üzenetére
Még régebben létrehoztam 3 függvényt ilyesmire, most előkotortam:
/**
* Inject a stylesheet
*/
function injectCssFile( css_filename ){
var
headID = document.getElementsByTagName("head")[0],
cssNode = document.createElement('link');
cssNode.type = 'text/css';
cssNode.rel = 'stylesheet';
cssNode.href = css_filename;
cssNode.media = 'screen';
headID.appendChild(cssNode);
}
/**
* Load external CSS file with jQuery
*/
function loadCssFile ( css_url ){
$('head').append( $('<link rel="stylesheet" type="text/css" />').attr('href', css_url) );
}
/**
* Inject some inline CSS
*/
function injectInlineCss( inlineCssContent ){
var head = document.getElementsByTagName('head')[0],
style = document.createElement('style'),
rules = document.createTextNode( inlineCssContent );
style.type = 'text/css';
if(style.styleSheet){
style.styleSheet.cssText = rules.nodeValue;
}
else {
style.appendChild(rules);
}
head.appendChild(style);
}A második nem emlékszem, működőképes-e, a többi viszont úgy rémlik, jól működött.
Az injectCssFile() és a loadCssFile() tehát bepakol egy új CSS-fájlt, az injectInlineCss() pedig egy <style>-tagen belülre bepakol egyéb stílusokat, amiket átadsz neki (sringként kell átadni, <style> tag nélkül).
.appendChild()-ot használok, tehát a <head> legvégére rakja, így garantált, hogy utolsó csomópontként fog szerepelni, amíg hozzá nem adsz újat.Az AJAX-os problémához látni kéne a kódot.
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2222 üzenetére
Szívesen!
Ezt most nem értem, miért kell ide az .each()? Szerintem itt tök felesleges, szedd ki.
Másik, hogy itt a loadURL()-en belül neked egyedül az URL-re van szükséged, amit a href-attribútumból szedsz - akkor miért nem csak azt passzolod át a függvénynek?
Harmadik, hogy a sok-sok okádék if-else helyett cseréld le switch-case-ekre az eseteket, máris átláthatóbb lesz a kód.
Most hirtelen nem látom a parát, IE9-em sincs (direkt meghagytam a fostos szar IE8-at tesztelés céljára, úgyse használom soha, ha nem kell tesztelni), de egész pontosan mi történik? Nem jelez hibát, de nem történik semmi? Ha debuggolás céljára a callback-ekbe beleraksz valami kiíratást, akkor mi történik? Próbáltad már a sima $.get() vagy $.ajax() fv.-ekre lecserélni próba erejéig?Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2224 üzenetére
Várj, és a debugger konzol minden esetben meg volt nyitva? Mert az IE8 pl. azt írja, hogy "'console' is undefined", amennyiben nem nyomtam F12-t az oldal betöltése előtt. (Ha nyomtam, akkor okés.) De lehet, hogy rohadtul nincs semmi összefüggés, de próbáld már ki, mi van, ha azt kikommentezed. Bár feltételezem, IE9-nél ezt már megoldották.
Csak hogy megmutassam, mire gondolok:
A többit most látni kéne, mert így nem vágom.Nesze, megfelelő regexppel plusz némi manuális buzerálással úgy 30 másodperc volt átírni
amúgy konkrétan úgy, h Notepad++-ban regexp: \} else if \(url == (\".+\")\) \{
csere erre: case \1:
aztán breaket kimásoltam, majd a megfelelő sorokba bedobáltam Ctrl+V-vel, aztán jsFiddle-lel formáztam.
A loadot meg felesleges mindegyik esetben ismételgetni, így egyszerűbb sztem (kiszedtem a hrefes szarságot, meg az eachet):function loadURL(url) {
var $goldStuff = $('.gold');
if (window.console) {
console.log("Ajax kérés:" + url);
}
if (url === "index.html") {
url += " #content";
}
$('#content').load(url, function () {
switch (url) {
case "index.html":
$goldStuff.css('left', '1.5em');
break;
case "szolgaltatasok.html":
$('#content').load(url, function () {
$goldStuff.css('left', '18.5em');
});
break;
case "galeria.php":
$goldStuff.css('left', '35.5em');
// ha a galeria.php-ra többször is kattintasz, mindig betöltődik, vagy van erre megoldás a pluginben?
Galleria.loadTheme('galleria/themes/classic/galleria.classic.min.js');
Galleria.run('#galeria');
break;
case "kapcsolat.html":
$goldStuff.css('left', '50.5em');
// ez itt minden ráklattyolás esetén betöltődik, jó az??!
google.load("maps", "3", {
other_params: 'sensor=false',
callback: function () {
var mapOptions = {
center: new google.maps.LatLng(47.501272, 19.064841),
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("kapcsolatokTerk"),
mapOptions);
}
});
break;
case "gyik.html":
$goldStuff.css('left', '65em');
break;
}
});
}beleraktam egy if(window.console)-t, hogy ellenőrizve legyen, van-e egyáltalán olyan (pl. IE8-ban b@szik működni a kódod, ha ez bent marad)
Belekommenteltem a kódba, hogy biztos jó az, hogy minden alkalommal, amikor a kapcsolat.html-re kattintanak, akkor a google.load()-dal betöltődik a fájl? Vagy a google.load() tartalmaz ellenőrzést, hogy be vannak-e töltve már a megfelelő dolgok? Ezt nem vágom.
Aztán ott a Galleria.loadTheme - ezt megoldották, hogy ez ne töltődjön be többször?
Amúgy konkrrétan melyik menüpontokra kattintva fordul elő a para?[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2228 üzenetére
"Azért elég gáz lenne, ha benne hagyták volna"
Miért, Te még ott tartasz, hogy nem tudsz elképzelni mindenféle rosszat az IE fejlesztőitől?"nekem elszáll tőle az ajax"
Mi az, hogy "elszáll" az AJAX? Az milyen? Mindenesetre nem derült ki túl sok abból, hogy mi az oka, meg debuggoltál-e, meg létrehoztad-e a var $goldStuff változót (elég gyökér név lett, de nem tudom, mi nálad az a .gold ), és így tovább. Amúgy most jövök rá, nem igazán értem, az index.html"-nél minek kell neked a plusz selector, de gondolom ha működik más böngészőben, akkor működik, azt jóvan.
Ja, és elb@szarintottam, most látom, a szolgaltatasok.html-ben benne maradt a load()! Azt szedd ki onnan a francba, az biztos, hogy hiba. Hát igen, éjfélkor ilyenek már nem nagyon tűntek fel."Igazából még nem sikerült rájönnöm, hogy hogy tudnám előre betölteni ezeket egy még jelen esetben nem létező div-re"
Nem arról beszéltem, hogy töltsd be a térképet és a többit is előre egy divbe, aztán rejtsd el, hanem arról, hogy a szükséges fájlokat csak EGYSZER töltsd be. A FÁJLOKAT. A google.load() elvileg lazy loadra való, tehát aszinkron betölti a fájlokat, de ezt csak egyszer kéne betöltenie. Erre mondtam, hogy lehet, hogy beépítették a google.load()-ba az ellenőrzést, hogy ne töltődjön be többször, nem néztem utána.SZERK.:
na, most utánanéztem:
https://developers.google.com/loader/"Subsequent calls to load the Maps API will immediately execute the provided callback, so you don't have to worry about loading the same API more than once"
Szóval nem para!
Egyből a callback fog meghívódni a következő google.load()-nál, tehát ha valaki még egyszer rákattint arra a menüpontra.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2231 üzenetére
De bakker, miért csodálkozol ha nem működik az a függvény, amit küldtem neked, ha nem változtattad meg az eredeti koncepciódat, ahogy mondtam?
1. nem szedted ki az .each()-et, pedig felesleges
2. az én módosított loadURL függvényem csak egy STRINGET vár paraméterként, NEM pedig egy jQuery-objektumot, ahogy a tiéd! Ahogy írtam korábban, ott is tök felesleges jQuery-objektumot átadni, mivel csak egy URL az érdekes abban a függvényben, tehát ne egy this-t adj át, hanem CSAK a href-attribútumot.Egy függvény csinálja mindig pontosan azt, ami a dolga, ne többet, ne kevesebbet!
Miért töltöd be JS-sel a CSS-fájlt? Korábban azt hittem, csak apróbb módosítás kell valamiért, de a teljes layoutot JS-sel betölteni? Kipróbáldtad már, hogy néz ki az oldalad JS nélkül?
A videódon kapásból feltűnt az a ronda villódzás, ami pont amiatt van, hogy később töltöd be a stylesheetet. Ez ugyanígy jelentkezne, ha a <link> taggel az oldal forráskódjának legvégére pakolnád be a stylesheetet. Ezt mindenképp oldd meg, mert ez szerintem nem csak nálam b@ssza ki a biztosítékot. De azért az gáz, hogy a stylesheeted IE8 alatt még csak be sem töltődik, akármennyire is nem tartjuk azt normális böngészőnek. FOGJÁK IE8 alól böngészni az oldaladat, számíts arra. Még rosszabb, ha a megrendelőd látja meg IE8 alól.Ja, és a console.log()-os hibát én annak idején így oldottam meg, hogy olyan böngészőben se "szálljon el" a console.log-olás, ahol nem működőképes ez a függvény:
var alertFallback = false;
if (typeof console === "undefined" || typeof console.log === "undefined") {
var console = {};
if (alertFallback) {
console.log = function (msg) {
alert(msg);
};
console.error = console.trace = console.log;
} else {
console.log = function () {};
console.error = console.trace = console.log;
}
}Az alertFallback változóval azt tudod beállítani, hogy ha nem működik a console.log(), akkor helyettesítődjön alert()-re - ezt defaultból false-ra raktam, nekem ne dobáljon alert()-ablakokat.
Nem tűnt fel még amúgy az a PHP-s hiba, ami a galéria betöltésekor jól látszik a videódon is? Előbb talán azt kéne megoldani.
Amúgy a térképed erősen el van csúszva.
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2234 üzenetére
Na és azóta sikerült a módosított fv.-nyel?
"Meg ha már külön css-t töltök be firefoxra akkor a gradienteket is átírom abban a stylesheet-ben csak -moz*-ra, ne lassítsa feleslegesen a böngészőt a többi. Ugyanez a -webkit*-es stílusnál, onnan meg a -moz* dolgokat szedtem ki.."
Mi? Nem értem. Most olyan CSS3-as dolgokra gondolsz, amik nem működnek jól -moz, ill. -webkit-előtagok nélkül? Melyek ezek?
Az meg nem érv, hogy "ne lassítsa a böngészőt", nem pont a stylesheet fog lassítani... rengeteg stíluselemet tölt be egy CMS is, aztán mégsem lassul be a böngésző tőle.
Eleve ott kezdődik, hogy miért böngészőspecifikusan adod meg a stílusokat? NAGYON kerülendő, de ha így is van, akkor úgy szokás, hogy egymás alá írod a fallback-eket, hogy minden böngészőnél jól jelenjen meg.
Sokszor érdemes ezekre valami generátort használni, hogy ne neked kelljen baszkodni ezek megírásával. Csak egy példa a számtalanból:
http://www.css3maker.com/css3-transition.html
Csak bekattintod a megfelelő opciót, aztán odarakja neked a mindenféle potenciálisan szükséges előtagot. MINDET másold be a stílusfájlodba, és ne korlátozd webkites vagy más motorra. Működjön lehetőleg a legtöbb böngésző alatt. Attól még, hogy az IE-t kevésbé támogatod, nem jó hozzáállás egyre jobban szűkíteni a támogatott böngészők körét.
Szóval ne csinálj külön FF-stílusfájlt, meg külön Webkiteset, semmi értelme, az ilyen előtagos dolgok is legyenek egy helyen, így egyből látszik a cross-browser kompatibilitás is, meg könnyű módosítani."Mondtam is a megrendelőnek, hogy js-heavy oldalt csinálok, így aki nem használ js-t az vessen magára"
Azért ez nem ilyen egyszerű.
Sokszor érzem azt, hogy manapság az emberek átesnek a ló túlsó oldalára, túlzottan elkényelmesednek. Nem értek egyet azzal a hozzáállással, hogy elég a csak JS-alapú felület. Például a SEO-val mi lesz? Nagyon nem mindegy, a Google keresőrobotja mit lát.
Chrome-hoz itt van egy nagyon jó extension a JS ki-bekapcsolgatására oldalspecifikusan (nem globálisan!):
https://github.com/maximelebreton/quick-javascript-switcher
De a lényegre visszatérve az teljesen degenerált dolog, hogy komplett stílusfájlokat JS-sel töltesz be.
Eleve a CSS-fájloknak a headben elöl kell lenniük, mindenféle script előtt (az sztem kábé tök mindegy a renderelés szempontjából, hogy meta-tagek előtt vagy után van).IE-tesztelős móka:
http://my-debugbar.com/wiki/IETester/HomePage"IE alatt csak, nem?"
NEM, Chrome: http://i.imgur.com/oMh3ZM9.png. Ja de most jövök rá, hogy nem is elcsúszva van, hanem az a baj, hogy egy miniatűr pici fos csík.Gondolom emiatt a méretmegadás (em) miatt:
#kapcsolatokTerk {
width: 100%;
height: 11em;
}"Szerintem inkább a console.log-ot kiveszem, így nincs para vele, amúgy is csak debug szerepe volt."
Persze, ezt mindenképp érdemes, csak ha neadjisten IE8 alatt kell tesztelni, akkor rohadt idegesítő, hogy ott pattog a console hiánya miatt, ezért jó ez a workaround. De ez tényleg a legkevésbé fontos.
Inkább a fentieket oldd meg.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2236 üzenetére
"Esetleg ha átírnám a függvényt amit küldtél arra, hogy a <head> legelejére rakja a css fájlt akkor jobb lenne?"
Jaja, de akkor már document.write-tal kéne kiíratni a <link> taget (nem a fv.-nyel), ha nagyon muszáj, de még mindig nem indokolt, hogy kiszedd a webkites meg többi előtagot, ugye vágod, hogy a böngésző egyszer betölti a CSS-fájlt cache-be, és aztán onnan szedi, magyarul tök mindegy, hogy akár párszáz kilobájttal több a fájl...?!
Egyébként akkor már jobb lenne - ha már ennyire muszáj - szerveroldalon detektálni a böngészőt, és úgy hozzácsapni még egy "firefox" class-t a body-hoz, vagy hasonló, és a stílusfájlba úgy berakni a meghatározásokat, hogy .firefox #mydiv { ... }, de mondom, ez mindenképp gány megoldás így...Most nem nagyon néztem meg, az általad linkelt SEO-s kiegészítés pontosan hogyan működik úgy, hogy nem kell módosítanod az oldalad kódját, de én nem is komoly keresőoptimalizálásra gondoltam, hanem legalább valami alapvetőre... Pl. ha megnyitom az oldalakat új lapon, akkor működjön már úgy is... úgy értem, rendesen, ne csak azt az oldaltöredéket kapjam meg, amit az AJAX-kommunikáció során igényelsz. Nem egy nagy valami arra külön módszert kreálni, pl. akkor nem a galeria.php-ra küldesz kérést AJAX-szal, hanem az ajax/galeria.php címre, most csak mondtam valami hasraütésszerűt. Vagy szerveroldalra beteszel AJAX-detektálást (pl. PHP-vel így néz ki). Gondolj bele, a Google robotja is azt a töredék tartalmat kapja csak meg, amikor bejárja az oldaladat. Plusz nem ártana, ha az egyes aloldalak könyvjelzőzhetők, elküldhetők lennének. De ez még alapvető igényesség körébe tartozik sztem, nem a megrendelő által extrán megfizetendőbe. No mindegy, nem az én dolgom, ezek csak tanácsok.
"Pont ilyet kerestem Köszönöm!"
Szívesen! Ja, annak idején, amikor szarakodtam Chrome-extension fejlesztésével, akkor én is ilyet kerestem, aztán meglett a megoldás. De mivel belinkelték ezt a kiegészítést, ezért a franc sem akart szenvedni vele, hogy feltaláljam a spanyolviaszt, és én is megírjam a saját változatomat. Ez működik, teszi a dolgát, ahogy kő'.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz martonx #2238 üzenetére
Ja, én is hasonlóra gondolok.
De azt mondjuk korábban nem fogtam fel, hogy ezek szerint a teljes összeg 15k, hát az úgy tényleg elég karcsú, de akkor meg egyáltalán nem értem, minek az egész AJAX-os tökölés, miért nem pakolt be annyi statikus oldalt, ahány van, aztán kész. Nem is kellett volna AJAX-olnia ennyi lóvéért. (Az meg tényleg picit vicces, hogy egy ilyen bemutatkozós oldal "JS-heavy", de én azt feltételeztem, hogy lesz ez még komolyabb is. ) Plusz a Google Maps-szel sem kellett volna szarakodni, hogy JS API-n keresztül legyen használva, egy sima iframe-es megoldásba bedobhatta volna, amit az oldalon lehet kapni beágyazós kódnak, aztán kész.
Így is a dizájnnal ahogy írja, eltökölt egy csomót. 15k-ért ez bőven vállalható lett volna a fentebb leírt módon is. Sőt.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
-
Sk8erPeter
nagyúr
válasz martonx #2247 üzenetére
Ezt el is felejtettem (látszik, mennyire használom az IE-t), úgyhogy lehet, hogy nem kéne fent tartani az IE8-at csak amiatt, hogy legalább tudjam abban tesztelni. Most, hogy mondod, fel is rakom az IE10-et W7-re.
http://windows.microsoft.com/en-us/internet-explorer/ie-system-requirements#ie=ie-10
"If you want to run Internet Explorer 10 on your PC, here's what it takes:
..........
Hard disk space: 16 GB (32-bit) or 20 GB (64-bit)"Hogy mi van?
Mármint értem, hogy hülyebiztosra akarják csinálni a követelményeket (jóindulatúan feltételezem), de ez azért keményen néz ki
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz martonx #2249 üzenetére
Hát elég finoman fogalmaztál... Úgy is lehetne, hogy teljesen degenerált adatokat írnak ki. Igazából nem értem, miért ijesztik meg a júzert...
Na most amúgy felraktam az IE10-et, ahogy elnézem, felületében pontosan ugyanúgy nem tudtak semmi érdemit alakítani, mint az eddigi változatokban (ergo nem igazán hozzák meg a kedvét az áttérésre az addigi IE-hatereknek), viszont tény, hogy nagyon gyors, mind felületre (az ilyen apróságok IE8-nál, mint a fülváltás, ilyesmik is lassúak voltak), mind oldal-megjelenítésre, mind pedig JavaScriptes animációk terén. Utóbbi szerintem manapság nagyon sokat számít (hogy témába vágó is legyen), hogy eltalálják a JS-motort, mert elég sok minden JS-alapon történik; például az évek során a Firefox rettenetesen elcseszte - habár most próbálgattam, most már úgy tűnik, így a 21.x-es verziónál javítottak, pedig korábban pl. az animációk nagyon akadozóak voltak FF alatt.
Ennél jött elő például nagyon:
https://www.youtube.com/results?search_query=do+the+harlem+shake
Itt ugye össze-vissza elkezd ugrálni az oldal minden eleme, valamelyik korábbi változatnál a Firefox teljesen kiakadt ettől, és botrányosan lassú volt, direkt kipróbáltam. A mostani, 21.0 változatnál már jónak tűnik.Na, és visszatérve az IE10-re: valóban teljes körű a visszaválthatóság egészen IE7-ig (direkt kipróbáltam ezt egy korábban létrehozott tesztoldalon, pl. addEventListener miért is működött volna korábbi verziókban, nekik az attachEventet kellett erőltetni, tipikus - korábbi - Microsoftos önfejűség; IE8-módba visszaváltva ez a metódus ugyanúgy nem megy, ahogy a console.log-nál is pattog, ha nincs megnyitva F12-vel, tehát tényleg full IE8-motor), szóval ezek szerint tényleg teljesen felesleges emiatt több virtuális gépet használni, Linuxon is elég egy, amin IE10 van...
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2253 üzenetére
"Amúgy is, a srác azt mondta, ha ez jól alakul akkor lesz több melója is nekem, szóval ezért is mentem egy "kicsit" ár alá."
Ja, aztán abból indul ki, hogy ha már múltkor is "jutányos" áron vállaltad, akkor miért nem vállalod a többit is olyan occssón. Szerintem ha egy lélektani határnál többet nem hajlandó megfizetni, akkor el kell küldeni a francba.Egyébként mondom, az elején nem is vágtam, hogy az egész oldal úgy, ahogy van, 15k, ha ezt előre tudom, nem is mondok ilyeneket, mint hogy SEO, meg hasonlók. De az egészet ki lehetett volna kerülni úgy, hogy pont az AJAX-ozást szarod le, és akkor legalább könyvjelzőzhetők az oldalaid (akkor statikus, és nem kellett volna plusz időt (igaz, nem túl sokat) töltened a HTML5 history-zással és hasonlókkal).
"Azért annyira nem volt bonyolult az a JS API-n keresztüli dolog, de nem is tudtam, hogy van iFrame-es megoldás. Azt honnan lehet szerválni?"
[link]
Ettől még amúgy nyilván sokkal szebb az a megoldás, amit Te választottál, hogy a JS API-t használod, tehát ne szokj át az iframe-es megoldásra, csak említettem.Amúgy én ilyen statikusnak induló weboldalaknál is jobbnak látom egy CMS vagy valami framework használatát, a franc tökölne a menü hierarchiájával és hasonlókkal, meg választanék egy igényes template-et, szép kóddal, ami könnyen átszabható, és ami cross-browser működést lehetővé tesz (Drupalnál kedvencem a Zen).
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz spammer #2256 üzenetére
Hát akkor lehet, hogy ez azért van, mert egy szar.
Nézd meg a Superfish plugint, jól működik kikapcsolt JavaScript mellett is:
http://users.tpg.com.au/j_birch/plugins/superfish/#examplesSk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2257 üzenetére
Nem, nincs olyan szó, hogy "inprofi"...
Pedig nagyon komoly oldalak is készülnek CMS-ekkel, pl. konkrétan én a Drupalra gondolok. A Joomla személyes véleményem szerint egy fostalicska, próbáltam, nem győzött meg, de nyilván ebben is készülnek elég komplex oldalak, ebben sem szabad általánosítani. A WordPress-t legtöbbször blogolásra használják (nyilván vannak más célok is). A Drupalt meg mindenfélére.
Amúgy biztos a White House hivatalos oldalának fejlesztői is úgy gondolták, hogy a CMS-ek nem profik, ezért választották a Drupalt az oldaluk motorjául...
Csak futólag kukkants rá a cikkre:
http://www.whitehouse.gov/blog/2012/11/20/open-source-and-power-community
Leírják, merre, miért, hogyan esett a választás a Drupalra. Lényeg: hatalmas fejlesztői közösség, dinamikus fejlődés, folyamatos változások. Amúgy most már a Symfony framework a Drupal 8 alapmotorja.
Az oldal forráskódján is látszik amúgy, hogy tipikus Drupalos (/sites/default/files/... elérési utak, stb.).
Tevékenykednek a fejlesztői a drupal.org oldalon is:
http://drupal.org/user/2356044
vannak hozzájárulásaik modulokhoz (commit), meg vannak saját moduljaik.A lényeg: az, hogy valaki CMS-t használ, nem azt jelenti, hogy egy vérf@szjankó is össze tudná kattintgatni azt az oldalt. A CMS-hez a modulfejlesztésnek is megvan a maga komoly befektetési ideje, de a többedik oldal után bőven megtérül, hogy nem kell ugyanazokat az ismétlődő folyamatokat újból és újból végigszopni.
Ahogy igaz ez egy framework használatára is.
De manapság a Drupalra amúgy is azt mondják, hogy nemcsak CMS, hanem framework is, és másik irányból nem csak framework, hanem CMS is.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2261 üzenetére
Hát szerintem a JavaScript sem az a kifejezetten szép nyelv, és akkor finoman fogalmaztam...
"A node.js-es tárhelyek pedig kb egy árban vannak a php-sokkal"
Tudsz mutatni konkrét példát?Milyen animációt kell nézni a belinkelt oldalon? Hogy jobbra-balra lehet lapozni? Ebben mi a különleges? Bármelyik jQuery slider plugin tudja ezt.
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz trisztan94 #2263 üzenetére
Ha rákeresel úgy, hogy "content slider" vagy hasonló, akkor milliónyi találat lesz.
Ilyesmik.Amiket linkeltél, azok biztos jók, de csak külföldi szerverek, meg ha jól értettem gyors rápillantás alapján, havi díjak, és annyiért pedig kapsz ASP.NET-es tárhelyet is havonta, PHP-s tárhelyet meg főleg.
"Arra értettem, hogy aki tényleg tudatlan és azzal csinálja, és "ő már webszerkesztő"-nek titulálja magát, na az a gáz"
Ebben természetesen egyetértünk, de az előbb még amellett érveltél, hogy neked nem tűnnek túl profinak "a CMS-es megoldások". Erre reagálva mondtam, hogy ne pár vérjani (a vérpisti már unalmas ) munkája alapján ítélkezz.Sk8erPeter
Új hozzászólás Aktív témák
- bitpork: 2024 phautós tali ?
- Projektor topic
- Futás, futópályák
- Milyen cserélhető objektíves gépet?
- Skoda, VW, Audi, Seat topik
- Spórolós topik
- Tetőfokára hág a tavasz, és ezt a hardverek is érzik
- Kerékpárosok, bringások ide!
- Bocsánatot kért az Apple, mert nagyon mellélőtt a legutóbbi reklámjával
- Dragon Age: Origins
- További aktív témák...
- GIGABYTE RTX 3060TI GAMING OC 8G
- ÁRGARANCIA!Épített KomPhone i9 14900KF 64GB RAM RTX 4090 24GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 9 7900X3D 64GB RAM RTX 4090 24GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 4090 24GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 4090 24GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest