Hirdetés

Új hozzászólás Aktív témák

  • inf3rno
    nagyúr

    Ahoi,

    AngularJS kérdés.
    Egy új alkalmazást Angularral kezdtem el, kellene bele valamilyen wyswyg editor. Ezzel valakinek tapasztalat? Láttam CK-val egészen könnyen elboldogul, illetve van a textAngular ami kimondottan Angularhoz készült és nagyon lightweight, de nincs benne képfeltöltés (bár lehet ez nem is fog kelleni, még megkérdezem az ügyféléket). Egyéb ötlet?
    Köszi!

    Van még egy rakás másik editor is [link] pl aloha egész jónak tűnik, CK sem rossz egyébként. Ezeknél legtöbbször ott szokott a gond kezdődni, amikor egyedi dolgokat akarsz beletenni valamilyen pluginnel. Ha semmi ilyesmi nem kell, akkor bármelyik jó. Ha később kell, akkor meg még mindig kicserélheted. Van itt directive alohára: [link] meg ck-ra is [link] [link]

  • DNReNTi
    őstag

    Ahoi,

    AngularJS kérdés.
    Egy új alkalmazást Angularral kezdtem el, kellene bele valamilyen wyswyg editor. Ezzel valakinek tapasztalat? Láttam CK-val egészen könnyen elboldogul, illetve van a textAngular ami kimondottan Angularhoz készült és nagyon lightweight, de nincs benne képfeltöltés (bár lehet ez nem is fog kelleni, még megkérdezem az ügyféléket). Egyéb ötlet?
    Köszi!

  • inf3rno
    nagyúr

    Nekem is el kellene kezdenem Karmával teszteket írni, vagy valami hasonló, mert sajnos még ez is kimarad a repertoárból. :( Mondjuk jelenleg most inkább a stabil JS tudásra hajtok, aztán jöhetnek az advancedebb dolgok amik már a fejlesztést fogják segíteni. Túl sok már a lehetőség. :))

    Szvsz a TDD nem advanced dolog, hanem alapvető, ha fejleszteni akarsz. Ha nem ismered, nagyjából arról szól, hogy először a tesztet írod, utána meg az implementációt, mindezt kis kód részletekben. Így a végére a kód nagyjához lesz automatizált teszted. Menet közben is hasznos, mert a hibák azonnal kiderülnek, és nem kell utánanyomoznod órákat debug-al, hogy hol hasal el a kód. Én már inkább a BDD fele hajlok, annál először szövegesen írod le, hogy mit akarsz, aztán azt fordítod át tesztekre. Így a teszteket bármikor kicserélheted, úgy, hogy a szöveg változatlan marad. Ez sokkal rugalmasabb, mint a TDD, pl ugyanazok alapján a leírások alapján egy csomót azonos képességű eltérő klienst tudsz fejleszteni, esetleg eltérő API-kat kipróbálni, és így tovább.

  • Zedz
    addikt

    Megértelek, a dev környezet kiépítésére sajnálom leginkább az időt. Inkább leülök olvasni, vagy kódolok, minthogy erre menjenek el napjaim. Nekem nem tűnik annyira szélesen támogatottnak ez a sourcemap dolog, de egyelőre még csak firefox-ban néztem meg, elképzelhető, hogy más böngészőkben jobb a helyzet. Az elvet sem pontosan tudom, ami mögötte van, pl hogy lehetséges e több fájlt és azok kódjait betenni egy sourcemap-be, az is kérdés. Jelenleg csak a babelhez meg a minifyolt változathoz kellene, máshoz nemigen, szóval meg tudnám oldani nélküle is. Amit idáig összetákoltam dev környezetnek karmával meg nodejs-el az egész jó, át fogok térni rá a projektjeimnél, fejlettebb, mint amit előtte toltam.

    Nekem is el kellene kezdenem Karmával teszteket írni, vagy valami hasonló, mert sajnos még ez is kimarad a repertoárból. :( Mondjuk jelenleg most inkább a stabil JS tudásra hajtok, aztán jöhetnek az advancedebb dolgok amik már a fejlesztést fogják segíteni. Túl sok már a lehetőség. :))

  • inf3rno
    nagyúr

    Persze, ez igaz. Őszintén szólva én babelt most csak itthon használok, és nem tömörítem a kódot vagy változtatok nevet, csak a fícsöröket próbálom ki egy hobbi projekt keretein belül. Igazából fejlesztenem kellene a fejlesztési módszeremen. :DDD

    Megértelek, a dev környezet kiépítésére sajnálom leginkább az időt. Inkább leülök olvasni, vagy kódolok, minthogy erre menjenek el napjaim. Nekem nem tűnik annyira szélesen támogatottnak ez a sourcemap dolog, de egyelőre még csak firefox-ban néztem meg, elképzelhető, hogy más böngészőkben jobb a helyzet. Az elvet sem pontosan tudom, ami mögötte van, pl hogy lehetséges e több fájlt és azok kódjait betenni egy sourcemap-be, az is kérdés. Jelenleg csak a babelhez meg a minifyolt változathoz kellene, máshoz nemigen, szóval meg tudnám oldani nélküle is. Amit idáig összetákoltam dev környezetnek karmával meg nodejs-el az egész jó, át fogok térni rá a projektjeimnél, fejlettebb, mint amit előtte toltam.

  • Zedz
    addikt

    Nem, de ha a működő kódról jelentenek valami hibát, akkor jó lenne, ha az eredeti fájlok neveit meg az azokban lévő sort tartalmazná, nem az agyoncsomagolt fájl első sor x-edik oszlopát, amiből nem egyszerű kikeresni.

    Persze, ez igaz. Őszintén szólva én babelt most csak itthon használok, és nem tömörítem a kódot vagy változtatok nevet, csak a fícsöröket próbálom ki egy hobbi projekt keretein belül. Igazából fejlesztenem kellene a fejlesztési módszeremen. :DDD

  • inf3rno
    nagyúr

    Fejlesztés során egyből áttolod uglifyn a kódot?

    Nem, de ha a működő kódról jelentenek valami hibát, akkor jó lenne, ha az eredeti fájlok neveit meg az azokban lévő sort tartalmazná, nem az agyoncsomagolt fájl első sor x-edik oszlopát, amiből nem egyszerű kikeresni.

  • Zedz
    addikt

    Próbálkoztam sourcemaps-el, de nem nagyon lehet ráhúzni. Nekem legalábbis nem sikerült egyelőre. Te hogyan debuggolsz babellel? Én egyelőre sima browserify + ugify-al próbáltam sourcemaps-et a gulp-sourcemaps-el, de csak a bundle tartalmát látom firebug-ban, a forrás fájlokat nem, illetve hibánál a sor is a tömörített fájlra vonatkozik, szóval mindig 1. Így egyáltalán nem használható debug-ra. Még próbálkozom. Ha mégis összejönne, akkor megpróbálom babel-re is.

    Láttam, hogy van karma-cucumber, szóval elvileg cucumber-el is lehetne tesztelni, nem muszáj a jasmine. Majd megpróbálom azt is, mert nekem a BDD szimpatikusabb, mint a szimpla TDD, amit jasmine jelenleg támogat. Furának tartom, hogy azt írják jasmine dokumentációban, hogy BDD keretrendszer, amikor köze nincsen hozzá.

    Fejlesztés során egyből áttolod uglifyn a kódot?

  • GG888
    senior tag

    Nagyon köszi a segítséget, de nem tudom megírni a scriptet:(
    Esetleg privátban megírnád nekem ha nem nagy munka? Nem tudom mivel kell kezdeni stb egy scriptet! :( :R

    Hali!

    3 verziót is írtam neked, alább találhatók:
    [link]
    [link]
    [link]

  • inf3rno
    nagyúr

    Nem semmi, én eddig nem tudom mikor jutottam volna el. :DDD Marad akkor a sima gulp-browserify, nekem jelenleg még tökéletes megteszi.

    Munkahelyen is használod a Jasminet, vagy csak otthon?

    Próbálkoztam sourcemaps-el, de nem nagyon lehet ráhúzni. Nekem legalábbis nem sikerült egyelőre. Te hogyan debuggolsz babellel? Én egyelőre sima browserify + ugify-al próbáltam sourcemaps-et a gulp-sourcemaps-el, de csak a bundle tartalmát látom firebug-ban, a forrás fájlokat nem, illetve hibánál a sor is a tömörített fájlra vonatkozik, szóval mindig 1. Így egyáltalán nem használható debug-ra. Még próbálkozom. Ha mégis összejönne, akkor megpróbálom babel-re is.

    Láttam, hogy van karma-cucumber, szóval elvileg cucumber-el is lehetne tesztelni, nem muszáj a jasmine. Majd megpróbálom azt is, mert nekem a BDD szimpatikusabb, mint a szimpla TDD, amit jasmine jelenleg támogat. Furának tartom, hogy azt írják jasmine dokumentációban, hogy BDD keretrendszer, amikor köze nincsen hozzá.

  • inf3rno
    nagyúr

    A VM-el az a bajom, hogy ha a legkisebb OS-t is teszem fel akkor is sok helyet foglal, viszont ott nincs megfogva a kezem, mert ki tudom használni az OS lehetőségeit. A Java is VM-t használ amúgy aminek a neve igen találóan JVM lett, ezért is platform független. Várom, hogy kicsit jobb legyen ez a Docker, mert most még eléggé bugos pár helyen, de szerintem jó lesz.

    Szerintem az igazi akkor lesz, ha a felhasználóknak is alap lesz, hogy fent van a gépén ugyanúgy, mint a java. Kicsit bele kellene reklámozni, de megéri, mert nem csak java-t lehetne így fejleszteni platformfüggetlenül, hanem bármit.

    Ha valaki csodálkozna, hogy hogy jön ez ide, docker-en van már elég régóta nodejs is. [link]

  • PumpkinSeed
    addikt

    Közben átgondoltam, hogy mire jó a Docker. Bár nem vagyok benne biztos, hogy tényleg így működik. :DD

    A docker elvileg egy mini oprendszer az aktuális oprendszer felett. Minden oprendszer fölé ugyanazt teszi fel. A programok ezen a standard interface-en keresztül kommunikálnak, és nem látják a tényleges oprendszert. Tehát ha csinálsz egy docker image-t, azt bármelyik oprendszerre feltelepítheted, amin ott van a docker. Ez nyilván azt hozza magával, hogy webfejlesztésre nagyon jó, asztali app fejlesztésre pocsék, mert manapság egyáltalán nem gyakori, hogy a felhasználó gépén fut a docker, kivéve, ha Linux-os hozzáértő emberről van szó. Nyűg külön telepíttetni olyan Win felhasználókkal, akik analfabéták a géphez, márpedig ha ilyen a célközönséged, akkor próbálod minimumra venni a next-ek számát is, nehogy valamit elállítsanak. A webfejlesztésnél azért lehet jó, mert nem kell szerver meg oprendszer kompatibilitást tesztelni, elég csak felszórni az imaget egy container-be, aztán megy. Ennyi. Asztalinál is ez lenne az előnye, valszeg ezért el is fog terjedni.

    A VM egész máshogy működik, az eltérő oprendszereket szimulál, szóval azon tudod tesztelni, hogy eltérő oprendszerekkel hogyan működik az alkalmazásod. Az asztali fejlesztés annyiból rosszabb vele, mint a docker-el lenne, hogy több környezetre kell tesztelni, és többször megírni a kód egy részét. A java ezen segít valamennyit, kb ugyanazt csinálja, mint a docker, elfedi az eltéréseket. A webfejlesztés kb ugyanolyan, mint docker-el, annyi, hogy a szerver gépet szimulálod vele, így az oprendszered lehet valami tök más is, pl Linux szerver Windows oprendszer. Még annyi előnye van, hogy kimentheted az image-t, aztán megoszthatod a többi fejlesztővel, ha csapatban nyomulsz. Így szerver beállítások beli különbség, meg ilyesmi nem okoz majd konfliktusokat, feltéve ha fel tudod szórni a szerverre ugyanazt az imaget.

    Van még a vagrant, elvileg azzal leírhatod, hogy az aktuális imaget hogyan hoztad létre, szóval hogy hogyan került ebbe az állapotba a virtuális géped vagy a docker container-ed. Elvileg mindkettőnél lehet menteni az image-t is futás közben, gyakorlatilag nem tudom, sosem használtam egyiket sem. A vagrant azért lehet jó, mert belenyúlhatsz a szoftvercsomagba és a beállításokba anélkül, hogy mindent kézzel kellene nulláról újratelepítened. Valami olyasmi ránézésre, mint egy verzió kezelő a futási környezetre.

    Nekem ránézésre egyikre sincs most szükségem, de csapatban mindenképp hasznosnak tűnnek, ugyanígy asztalihoz is, ha több oprendszert akarsz támogatni.

    A VM-el az a bajom, hogy ha a legkisebb OS-t is teszem fel akkor is sok helyet foglal, viszont ott nincs megfogva a kezem, mert ki tudom használni az OS lehetőségeit. A Java is VM-t használ amúgy aminek a neve igen találóan JVM lett, ezért is platform független. Várom, hogy kicsit jobb legyen ez a Docker, mert most még eléggé bugos pár helyen, de szerintem jó lesz.

  • inf3rno
    nagyúr

    Windowson próbáltam igen. Na mindegy, csak eljutottam odáig, hogy felszemeteltem a gépemre a Jenkins-t mert szükség törvényt bont. :D

    Közben átgondoltam, hogy mire jó a Docker. Bár nem vagyok benne biztos, hogy tényleg így működik. :DD

    A docker elvileg egy mini oprendszer az aktuális oprendszer felett. Minden oprendszer fölé ugyanazt teszi fel. A programok ezen a standard interface-en keresztül kommunikálnak, és nem látják a tényleges oprendszert. Tehát ha csinálsz egy docker image-t, azt bármelyik oprendszerre feltelepítheted, amin ott van a docker. Ez nyilván azt hozza magával, hogy webfejlesztésre nagyon jó, asztali app fejlesztésre pocsék, mert manapság egyáltalán nem gyakori, hogy a felhasználó gépén fut a docker, kivéve, ha Linux-os hozzáértő emberről van szó. Nyűg külön telepíttetni olyan Win felhasználókkal, akik analfabéták a géphez, márpedig ha ilyen a célközönséged, akkor próbálod minimumra venni a next-ek számát is, nehogy valamit elállítsanak. A webfejlesztésnél azért lehet jó, mert nem kell szerver meg oprendszer kompatibilitást tesztelni, elég csak felszórni az imaget egy container-be, aztán megy. Ennyi. Asztalinál is ez lenne az előnye, valszeg ezért el is fog terjedni.

    A VM egész máshogy működik, az eltérő oprendszereket szimulál, szóval azon tudod tesztelni, hogy eltérő oprendszerekkel hogyan működik az alkalmazásod. Az asztali fejlesztés annyiból rosszabb vele, mint a docker-el lenne, hogy több környezetre kell tesztelni, és többször megírni a kód egy részét. A java ezen segít valamennyit, kb ugyanazt csinálja, mint a docker, elfedi az eltéréseket. A webfejlesztés kb ugyanolyan, mint docker-el, annyi, hogy a szerver gépet szimulálod vele, így az oprendszered lehet valami tök más is, pl Linux szerver Windows oprendszer. Még annyi előnye van, hogy kimentheted az image-t, aztán megoszthatod a többi fejlesztővel, ha csapatban nyomulsz. Így szerver beállítások beli különbség, meg ilyesmi nem okoz majd konfliktusokat, feltéve ha fel tudod szórni a szerverre ugyanazt az imaget.

    Van még a vagrant, elvileg azzal leírhatod, hogy az aktuális imaget hogyan hoztad létre, szóval hogy hogyan került ebbe az állapotba a virtuális géped vagy a docker container-ed. Elvileg mindkettőnél lehet menteni az image-t is futás közben, gyakorlatilag nem tudom, sosem használtam egyiket sem. A vagrant azért lehet jó, mert belenyúlhatsz a szoftvercsomagba és a beállításokba anélkül, hogy mindent kézzel kellene nulláról újratelepítened. Valami olyasmi ránézésre, mint egy verzió kezelő a futási környezetre.

    Nekem ránézésre egyikre sincs most szükségem, de csapatban mindenképp hasznosnak tűnnek, ugyanígy asztalihoz is, ha több oprendszert akarsz támogatni.

  • Bigyo13
    őstag

    Sajnos tesztelni nem tudom, de a következő eltünteti:
    document.getElementById("iewarning").style.display = "none";

    Nagyon köszi a segítséget, de nem tudom megírni a scriptet:(
    Esetleg privátban megírnád nekem ha nem nagy munka? Nem tudom mivel kell kezdeni stb egy scriptet! :( :R

  • wis
    tag

    Ahogy én látom a Trixie támogatja az IE8 user scripteket, sőt arra találták ki: Trixie 0.2.3

    To operate it:

    1.put your userscript in c:\Program Files (x86)\Bhelpuri\Trixie\Scripts\ folder (it contains some samples you can start with)
    2.restart IE or go to "Tools" -> "Trixie Options" menu and click "Reload Scripts" button (no need to restart IE)

    Már be is integráltam az IE8 böngészőbe a telepítővel, előtte fel kellett rakni az XP SP3-ra a NETF 2.0 -át.. nekem nem volt fenn!

    Már csak a megfelelő user script megírása hiányzik! Mivel be és ki tudom kapcsolni a többi Trixie scriptet is az eszközök menűből megnyíló Ablakban! :K

    Másik böngésző nem megoldás nekem, mert sok oldalt nyomtatni szeretnék a vodafone oldaláról IE8 alatt és felül foglalja a helyet a figyelmeztető ablak a Vodafone lapon pl., hogy váltsak böngészőt... sajnos nem integráltak az oldalba X-et vagy Ok-t, hogy eltünjön! :(((
    Tudnál segíteni a megfelelő script megírásában? :R

    Sajnos tesztelni nem tudom, de a következő eltünteti:
    document.getElementById("iewarning").style.display = "none";

  • PumpkinSeed
    addikt

    Találtam bug reportot, +1-ezzél rá, hátha hamarabb javíták. [link] Windows-on még csak pár hónapos a docker valszeg amiatt bugzik még. Fél év múlva már biztosan jobb lesz. Majd kipróbálom én is, hátha többre jutok, bár fogalmam sincs, hogy mire tudnám használni.

    Windowson próbáltam igen. Na mindegy, csak eljutottam odáig, hogy felszemeteltem a gépemre a Jenkins-t mert szükség törvényt bont. :D

  • inf3rno
    nagyúr

    Kipróbáltam a Docker-t hát igazából elég sok a negatív tapasztalatom vele. Feltelepítettem járt hozzá egy Kinematic névre keresztel GUI alpha verzióval. Eddig nagyon jó is volt, tényleg szép letisztult külső könnyű használat, beépített log felület. Feltettem a Jenkins-t meg akkor már pár más dolgot is kipróbáltam. Működött is, majd elszállt egy connectionEx tcp hibával, kerestem rá pár megoldást nem működött semmi. Újratelepítettem, ment egy darabig meg megint hiba. Újratelepítettem és egyből hiba, szóval felhagytam vele.

    Viszont a másik probléma, Jenkins-t használ valaki? Letöltöttem hozzá a Go plugin-t és elszáll az egész. A beállításoknál folyamatosan BETÖLTÉS-t ír ki és használhatatlan, de ha kikapcsolom a plugin-t akkor megy mint régen.

    Találtam bug reportot, +1-ezzél rá, hátha hamarabb javíták. [link] Windows-on még csak pár hónapos a docker valszeg amiatt bugzik még. Fél év múlva már biztosan jobb lesz. Majd kipróbálom én is, hátha többre jutok, bár fogalmam sincs, hogy mire tudnám használni.

  • Bigyo13
    őstag

    Az IE 8 nem támogatja a user scripteket. Miért nem használsz más böngészőt?

    Ahogy én látom a Trixie támogatja az IE8 user scripteket, sőt arra találták ki: Trixie 0.2.3

    To operate it:

    1.put your userscript in c:\Program Files (x86)\Bhelpuri\Trixie\Scripts\ folder (it contains some samples you can start with)
    2.restart IE or go to "Tools" -> "Trixie Options" menu and click "Reload Scripts" button (no need to restart IE)

    Már be is integráltam az IE8 böngészőbe a telepítővel, előtte fel kellett rakni az XP SP3-ra a NETF 2.0 -át.. nekem nem volt fenn!

    Már csak a megfelelő user script megírása hiányzik! Mivel be és ki tudom kapcsolni a többi Trixie scriptet is az eszközök menűből megnyíló Ablakban! :K

    Másik böngésző nem megoldás nekem, mert sok oldalt nyomtatni szeretnék a vodafone oldaláról IE8 alatt és felül foglalja a helyet a figyelmeztető ablak a Vodafone lapon pl., hogy váltsak böngészőt... sajnos nem integráltak az oldalba X-et vagy Ok-t, hogy eltünjön! :(((
    Tudnál segíteni a megfelelő script megírásában? :R

  • inf3rno
    nagyúr

    Kipróbáltam a Docker-t hát igazából elég sok a negatív tapasztalatom vele. Feltelepítettem járt hozzá egy Kinematic névre keresztel GUI alpha verzióval. Eddig nagyon jó is volt, tényleg szép letisztult külső könnyű használat, beépített log felület. Feltettem a Jenkins-t meg akkor már pár más dolgot is kipróbáltam. Működött is, majd elszállt egy connectionEx tcp hibával, kerestem rá pár megoldást nem működött semmi. Újratelepítettem, ment egy darabig meg megint hiba. Újratelepítettem és egyből hiba, szóval felhagytam vele.

    Viszont a másik probléma, Jenkins-t használ valaki? Letöltöttem hozzá a Go plugin-t és elszáll az egész. A beállításoknál folyamatosan BETÖLTÉS-t ír ki és használhatatlan, de ha kikapcsolom a plugin-t akkor megy mint régen.

    Melyik oprendszeren próbáltad?

  • wis
    tag

    Elnézést... :U Megtaláltam a vodafone.hu oldalán a forrásban a scriptet, amit közömbösíteni kellene egy user scripttel:

    </script> <![endif]--> <!--[if lte IE 8]> <div id="iewarning"

    Kérem segítsen valaki, hogy kell megírni a közömbösítő vagy kikapcsoló user scriptet! Köszönöm :R

    Az IE 8 nem támogatja a user scripteket. Miért nem használsz más böngészőt?

  • Bigyo13
    őstag

    Elnézést... :U Megtaláltam a vodafone.hu oldalán a forrásban a scriptet, amit közömbösíteni kellene egy user scripttel:

    </script> <![endif]--> <!--[if lte IE 8]> <div id="iewarning"

    Kérem segítsen valaki, hogy kell megírni a közömbösítő vagy kikapcsoló user scriptet! Köszönöm :R

  • Bigyo13
    őstag

    Az IE8 user javascript kezelését megtaláltam... már csak helyesen kellene megírni a scriptet :(

    A cél, hogy a vodafone.hu oldalán ne töltse be a böngésző figyelmeztető részt felül az oldalon, valami ilyesmi paranccsal:

    (function() {

    remove_meta_box( 'dashboard_browser_nag', 'dashboard', 'normal' );
    }
    add_action( 'wp_dashboard_setup', 'disable_browser_upgrade_warning' );

    }
    )();

    De valamit nem jól írtam vagy kihagytam, mert nem működik :U

  • PumpkinSeed
    addikt

    Nézem közben, hogy cisz (bocs) van linux-on is valamilyen formában. [link] Talán majd egyszer. Én most jól elvagyok node-al. :-)

    Kipróbáltam a Docker-t hát igazából elég sok a negatív tapasztalatom vele. Feltelepítettem járt hozzá egy Kinematic névre keresztel GUI alpha verzióval. Eddig nagyon jó is volt, tényleg szép letisztult külső könnyű használat, beépített log felület. Feltettem a Jenkins-t meg akkor már pár más dolgot is kipróbáltam. Működött is, majd elszállt egy connectionEx tcp hibával, kerestem rá pár megoldást nem működött semmi. Újratelepítettem, ment egy darabig meg megint hiba. Újratelepítettem és egyből hiba, szóval felhagytam vele.

    Viszont a másik probléma, Jenkins-t használ valaki? Letöltöttem hozzá a Go plugin-t és elszáll az egész. A beállításoknál folyamatosan BETÖLTÉS-t ír ki és használhatatlan, de ha kikapcsolom a plugin-t akkor megy mint régen.

  • Bigyo13
    őstag

    Sziasztok! Nem tudom jó helyre írok-e, de nem nagyon értek a JavaScript íráshoz, ezért egy kis segítség kellene! A következő parancsot szeretném kiadni minden IE8 böngésző megnyitásakor a vodafone.hu oldalnak, hogy ne legyen a felső részben a Javaslat a böngésző váltásra!

    Találtam erre beágyazandó parancsot tehát a következő szöveggel, ami talán jó lenne script-ben is:

    function disable_browser_upgrade_warning() {
    remove_meta_box( 'dashboard_browser_nag', 'dashboard', 'normal' );
    }
    add_action( 'wp_dashboard_setup', 'disable_browser_upgrade_warning' );

    Ezt nem tudom, hogy kell megírni, hogy működjön is, mert ugye én a vodafone oldalát szerkeszteni nem tudom, ahova ezt be lehetne ágyazni... ezért kellene megoldás pl. Java script paranccsal!

    Vagy hogyan tudnám a vodafone által beágyazott Javascriptet, ezt a részt az oldaluk letöltése közben blokkolni:

    </script> <![endif]--> <!--[if lte IE 8]> <div id="iewarning" style="display: none;"> <div class="iewCenter clearfix"> <div class="iewText"> <h2> Böngéssz kompromisszumok nélkül! </h2> <p> Az általad használt böngészőt nem támogatja az oldalunk, így annak bizonyos részeit nem tudod teljes értékűen használni. A maximális élmény érdekében kérjük, hogy frissítsd böngésződet, igényeidnek megfelelően. </p> </div> <div class="iewDownload"> <h2> Ajánlott böngészők </h2> <div class="ie"> <h3>Internet Explorer</h3> <a href="http://www.microsoft.com/hun/upgrade/"> > letöltöm </a> </div> <div class="ff"> <h3>Mozilla Firefox</h3> <a href="http://www.mozilla.com/hu/"> > letöltöm </a> </div> <div class="ch"> <h3>Google Chrome</h3> <a href="http://www.google.com/chrome?hl=hu"> > letöltöm </a> </div> </div> </div> </div> <![endif]--> <script type="text/javascript"

    Köszönöm! :R

  • inf3rno
    nagyúr

    Nézem közben, hogy cisz (bocs) van linux-on is valamilyen formában. [link] Talán majd egyszer. Én most jól elvagyok node-al. :-)

  • PumpkinSeed
    addikt

    Ha a VM nem játszik, akkor próbáld meg a docker-t. Az kevesebbet eszik, és ugyanazt tudja. (Még nem foglalkoztam vele, de mások nagyon ajánlják.)

    Nekem a projekt mappa külön HDD-n van, az összes projektnek abban van a kódja egy-egy mappában. A felosztásnál nekem most bejön a forrás az src-be a build meg a dist-be, a build task-ek mennek a tasks-be, a tesztek meg a spec-be. A runnerek a project root-ban vannak. Nagyjából ennyi a történet. Ha csapat van, akkor még bejön a képbe a CI szerver, a kódokat ott kell integrálni, aztán tesztelni és release-elni. Ha nincs csapat, akkor én nem szoktam ilyesmivel foglalkozni, letesztelem itthon, aztán kitolom a release script-el. Egyedül a rollback hiánya, ami aggasztó ilyenkor, de magabiztos vagyok. :DDD Nem jellemző, hogy oprendszerbeli eltérések miatt bármi történne. Legalábbis webes fejlesztésben nagyon ritkán találkozok ilyesmivel legtöbbször mod rewrite meg env vars témában, asztalra meg mobilra nem fejlesztek (még), azoknál gondolom nagyon más a helyzet. Nálam kb ennyi a történet.

    Én nem tudnám megszokni, hogy több oprendszert használok fejlesztésre. Most váltok majd linux-ra win7-ről, teszteltem egy csomót. De hogy ide-oda váltsak az oprendszerek között meg rebootoljak, amikor egy projekthez akarok nyúlni, az kizárt. Akkor már jobb a VM vagy a docker.

    Ezt a dockert akkor kipróbálom. :R

  • inf3rno
    nagyúr

    Android az nem rossz, én egy kicsit foglalkoztam vele. Szerver kommunikációig jutottam, kamerát meg hasonlókat már nem kezeltem. Szerver oldalon amit egyszer ki szeretnék próbálni itthon az a Django lesz, csak jussak el odáig. :DDD Nodejs-hez milyen frameworköt használsz? Express?

    Ja, mindenki azt használ.

    Na összeszórtam babel-el is, nehéz szülés volt, mármint a nodejs jasmine teszt vele. [link] A végén úgy döntöttem, hogy becsomagolom browserify-al az egészet egy pack-ba, aztán úgy tesztelem. Próbáltam jest-el is, annak elvileg van preprocessor-a, ami babel-el átalakítja, de bugos. Facebook fejlesztők kontár munkája... :D Úh. azzal nem jött össze a dolog. Most megy, de kellene még bele egy source map, amit nem tudom, hogy fel tudok e építeni browserify+babelify+uglify kimenetéből. Talán ha minden összejön, akkor igen. A következő probléma meg az lesz, hogy hogyan alakítom át a jasmine hibaüzeneteit a bundle-ről valami épkézláb dologgá a sourcemap segítségével. Meglájuk. Még úgysem használtam sosem ilyesmit.

  • Zedz
    addikt

    C#-ot valszeg nem fogom, mert búcsút mondok a windows-nak. A java szimpi, de csak fél évet foglalkoztam vele, akkor se túl komolyan. Jobb szeretem a könnyű súlyú dolgokat. Majd talán kisebb asztali alkalmazásokat rakok össze java-ban. De elvileg már node-al is lehet ilyesmit. Az android még ami izgat.

    Android az nem rossz, én egy kicsit foglalkoztam vele. Szerver kommunikációig jutottam, kamerát meg hasonlókat már nem kezeltem. Szerver oldalon amit egyszer ki szeretnék próbálni itthon az a Django lesz, csak jussak el odáig. :DDD Nodejs-hez milyen frameworköt használsz? Express?

  • inf3rno
    nagyúr

    "Nem tudom mások hogy írnak keretrendszereket, de nekem mindig kell 2-3-4 újraírós ciklus"

    Minden egyes alkalommal. :DDD

    Nehezebb súlyú szerver oldalt is próbáltál? C#, Java?

    C#-ot valszeg nem fogom, mert búcsút mondok a windows-nak. A java szimpi, de csak fél évet foglalkoztam vele, akkor se túl komolyan. Jobb szeretem a könnyű súlyú dolgokat. Majd talán kisebb asztali alkalmazásokat rakok össze java-ban. De elvileg már node-al is lehet ilyesmit. Az android még ami izgat.

  • Zedz
    addikt

    Persze egy ideje ismerkedek vele, tisztább, szárazabb érzés a PHP után. PHP kb olyan, mintha a fél karom hiányozna, mert a webszerver kezeli a thread-eket, meg csak szinkron kódot lehet írni vele. (Tudom, hogy van appszerver, meg nagyon próbálják pusholni páran az aszinkron PHP-t, de rajtuk kívül senki nem veszi komolyan.)

    Azért a nodejs is gyerek még, nagyon kell neki, hogy stabil támogatás legyen az ES7 async function-ön. Így future-ökkel el lehet bohóckodni, de nem az igazi. Most próbálok egy object stream-hez hasonló belső üzenetküldőt csinálni aszinkron kódoláshoz. Meglátjuk hova jutok vele. Igazából már 1 éve elkezdtem hobbiból, aztán azóta már egyszer újraírtam, és most fogom másodszor is. Tisztul a dolog. Nem tudom mások hogy írnak keretrendszereket, de nekem mindig kell 2-3-4 újraírós ciklus, amitől egyre szebb meg egyszerűbb lesz a kód. Úgy néztem azért másoknál is jellemző, hogy teljesen újraírják őket, pl ext4 vagy nanomsg (ami zeromq2), symfony2, és így tovább. Nagyon ritka, hogy elsőre megtalálja a legjobb megoldást az ember.

    "Nem tudom mások hogy írnak keretrendszereket, de nekem mindig kell 2-3-4 újraírós ciklus"

    Minden egyes alkalommal. :DDD

    Nehezebb súlyú szerver oldalt is próbáltál? C#, Java?

  • inf3rno
    nagyúr

    Miért nem próbáltál ki más nyelvet szerver oldalon? Igaz amit mondasz, pár cikket és reddit posztot én is olvastam a témában, hogy a PHP csak úgy létrejött valahogy.

    Nekem nincs sok tapasztalatom benne, főiskolás évek alatt CodeIgnitert nyúztam, végzés óta pedig Laravel. Én úgy gondolom a rossz hírnévhez lehet a sok kontár pistike "programozó" járul hozzá. Mondjuk én is szívesen kipróbálnék mást is, sok féle lehetősége van már az embernek. Nodejs-t próbáltad már esetleg?

    Persze egy ideje ismerkedek vele, tisztább, szárazabb érzés a PHP után. PHP kb olyan, mintha a fél karom hiányozna, mert a webszerver kezeli a thread-eket, meg csak szinkron kódot lehet írni vele. (Tudom, hogy van appszerver, meg nagyon próbálják pusholni páran az aszinkron PHP-t, de rajtuk kívül senki nem veszi komolyan.)

    Azért a nodejs is gyerek még, nagyon kell neki, hogy stabil támogatás legyen az ES7 async function-ön. Így future-ökkel el lehet bohóckodni, de nem az igazi. Most próbálok egy object stream-hez hasonló belső üzenetküldőt csinálni aszinkron kódoláshoz. Meglátjuk hova jutok vele. Igazából már 1 éve elkezdtem hobbiból, aztán azóta már egyszer újraírtam, és most fogom másodszor is. Tisztul a dolog. Nem tudom mások hogy írnak keretrendszereket, de nekem mindig kell 2-3-4 újraírós ciklus, amitől egyre szebb meg egyszerűbb lesz a kód. Úgy néztem azért másoknál is jellemző, hogy teljesen újraírják őket, pl ext4 vagy nanomsg (ami zeromq2), symfony2, és így tovább. Nagyon ritka, hogy elsőre megtalálja a legjobb megoldást az ember.

  • inf3rno
    nagyúr

    Csak érdekel, hogy ezeket így hogyan szoktátok megcsinálni, ugyanis nekem most Win7 + Kali van a laptopomon. Win7 alatt megy a PHP PHPstorm alatt Go webStorm alatt Kali alatt meg ami webprog kurzusra kell Java GWT. Már így is annyira tele van szemetelve a laptopom, hogy alig látom át mi merre van, ezért nem tudom elképzelni mit csináljak más dolgok tesztelésére. A virtuális gépek se nagyon játszanak ugyanis 120GB-os SSD-m van ami nem épp egy leányálom két oprendszer mellett. Szóval érdeklődnék, hogy ezt mind hogyan szoktátok megoldani.

    Ha a VM nem játszik, akkor próbáld meg a docker-t. Az kevesebbet eszik, és ugyanazt tudja. (Még nem foglalkoztam vele, de mások nagyon ajánlják.)

    Nekem a projekt mappa külön HDD-n van, az összes projektnek abban van a kódja egy-egy mappában. A felosztásnál nekem most bejön a forrás az src-be a build meg a dist-be, a build task-ek mennek a tasks-be, a tesztek meg a spec-be. A runnerek a project root-ban vannak. Nagyjából ennyi a történet. Ha csapat van, akkor még bejön a képbe a CI szerver, a kódokat ott kell integrálni, aztán tesztelni és release-elni. Ha nincs csapat, akkor én nem szoktam ilyesmivel foglalkozni, letesztelem itthon, aztán kitolom a release script-el. Egyedül a rollback hiánya, ami aggasztó ilyenkor, de magabiztos vagyok. :DDD Nem jellemző, hogy oprendszerbeli eltérések miatt bármi történne. Legalábbis webes fejlesztésben nagyon ritkán találkozok ilyesmivel legtöbbször mod rewrite meg env vars témában, asztalra meg mobilra nem fejlesztek (még), azoknál gondolom nagyon más a helyzet. Nálam kb ennyi a történet.

    Én nem tudnám megszokni, hogy több oprendszert használok fejlesztésre. Most váltok majd linux-ra win7-ről, teszteltem egy csomót. De hogy ide-oda váltsak az oprendszerek között meg rebootoljak, amikor egy projekthez akarok nyúlni, az kizárt. Akkor már jobb a VM vagy a docker.

  • Zedz
    addikt

    Magával a nyelvvel csak annyi, hogy xarból nem lehet várat építeni. A PHP4 kb olyan volt, mint a js-ben a típusellenőrzés. Azóta rátákoltak a tetejére egy oop réteget, kb. ennyi történt. Ugyanúgy szinkron, nem lehet aszinkron kódot írni benne, sem többszálút. Általában aztán az van, hogy az ügyfél kiválasztja magának a legolcsóbb tárhelyet, megveszi, kattintgat párat joomlában, vagy hasonló CMS-ben, aztán rájön, hogy ehhez nem ért, és akkor fejlesszek neki PHP-ben LAMP-ra valamit, feléből mennyit engedek alapon. A másik lehetőség ugyanez, csak az első versenyző spagetti kódban már félig összegányolta mielőtt belezavarodott a saját kódjába, és feladta, és hát nekem már csak "alig valamit" kell lekódolni. Meguntam ezt az életérzést. Úgy döntöttem, hogy ez így nem vezet sehova. Inkább elméletben képzem magam addig könyvekből, amennyi nekem kell, DDD, BDD, REST, SOLID, meg hasonló betűszavak terén, aztán ezentúl csak saját projekteket csinálok, pénzt meg másból keresek. Ennyi a bajom az egésszel.

    Itt a karmás [link]. Egyelőre nem találtam még olyat, amivel jasmine teszteket össze tudok kombinálni babel-el, más dolgom volt. A Jest elvileg jó rá, gyakorlatilag jobb szeretném megoldani először anélkül.

    Miért nem próbáltál ki más nyelvet szerver oldalon? Igaz amit mondasz, pár cikket és reddit posztot én is olvastam a témában, hogy a PHP csak úgy létrejött valahogy.

    Nekem nincs sok tapasztalatom benne, főiskolás évek alatt CodeIgnitert nyúztam, végzés óta pedig Laravel. Én úgy gondolom a rossz hírnévhez lehet a sok kontár pistike "programozó" járul hozzá. Mondjuk én is szívesen kipróbálnék mást is, sok féle lehetősége van már az embernek. Nodejs-t próbáltad már esetleg?

  • inf3rno
    nagyúr

    Mindenki fúj a PHP-ra, mondjuk jómagam nem nagyon dolgoztam még vele. Neked mi a konkrét problémád vele?

    Magával a nyelvvel csak annyi, hogy xarból nem lehet várat építeni. A PHP4 kb olyan volt, mint a js-ben a típusellenőrzés. Azóta rátákoltak a tetejére egy oop réteget, kb. ennyi történt. Ugyanúgy szinkron, nem lehet aszinkron kódot írni benne, sem többszálút. Általában aztán az van, hogy az ügyfél kiválasztja magának a legolcsóbb tárhelyet, megveszi, kattintgat párat joomlában, vagy hasonló CMS-ben, aztán rájön, hogy ehhez nem ért, és akkor fejlesszek neki PHP-ben LAMP-ra valamit, feléből mennyit engedek alapon. A másik lehetőség ugyanez, csak az első versenyző spagetti kódban már félig összegányolta mielőtt belezavarodott a saját kódjába, és feladta, és hát nekem már csak "alig valamit" kell lekódolni. Meguntam ezt az életérzést. Úgy döntöttem, hogy ez így nem vezet sehova. Inkább elméletben képzem magam addig könyvekből, amennyi nekem kell, DDD, BDD, REST, SOLID, meg hasonló betűszavak terén, aztán ezentúl csak saját projekteket csinálok, pénzt meg másból keresek. Ennyi a bajom az egésszel.

    Itt a karmás [link]. Egyelőre nem találtam még olyat, amivel jasmine teszteket össze tudok kombinálni babel-el, más dolgom volt. A Jest elvileg jó rá, gyakorlatilag jobb szeretném megoldani először anélkül.

  • PumpkinSeed
    addikt

    Egy jó ideje már jasmine-el tesztelek TDD-vel, újabban meg cucumber-el BDD-vel. Szerintem jasmine teljesen alkalmas munkára. Mocha-t is megpróbáltam annak idején, de nem sikerült elindítani sem... :D Most nem melózok egy ideje, biomérnök állást keresek, meguntam a programozást, mármint azt a részét, hogy tucat webshopokat kell php-ben programozni. Ki nem állhatom azt a nyelvet, elég volt belőle pár év.

    Jövőre ha lesz egy kis szabadidőm labor mellett, akkor összeszórok egy cucumber+jasmine kombinációt, mert a mostani cucumber elég fapados, és csak annyira lenne szükség, hogy jasmine fölé építsünk egy speckó test loadert, ami a gherkin syntax-os scenario-kat lefordítja jasmine-re. Ezt azért pár hét alatt össze lehet hozni sztem. Elvileg talán még gherkin parser is van készen, csak össze kell tákolni a jasmine-el.

    Közben sikerült összekombinálni jasmine+browserify+karma+gulp-ot. Még dolgozok rajta pár órát, aztán felteszek egy project templatet github-ra. Jó lenne még ilyen finomságokat, hogy sourcemap meg coverage meg ilyesmik is beletenni. Talán majd később. Ha fent van, akkor hozzácsapok egy babelify-t is külön branch-en aztán belinkelem.

    Csak érdekel, hogy ezeket így hogyan szoktátok megcsinálni, ugyanis nekem most Win7 + Kali van a laptopomon. Win7 alatt megy a PHP PHPstorm alatt Go webStorm alatt Kali alatt meg ami webprog kurzusra kell Java GWT. Már így is annyira tele van szemetelve a laptopom, hogy alig látom át mi merre van, ezért nem tudom elképzelni mit csináljak más dolgok tesztelésére. A virtuális gépek se nagyon játszanak ugyanis 120GB-os SSD-m van ami nem épp egy leányálom két oprendszer mellett. Szóval érdeklődnék, hogy ezt mind hogyan szoktátok megoldani.

  • Zedz
    addikt

    Egy jó ideje már jasmine-el tesztelek TDD-vel, újabban meg cucumber-el BDD-vel. Szerintem jasmine teljesen alkalmas munkára. Mocha-t is megpróbáltam annak idején, de nem sikerült elindítani sem... :D Most nem melózok egy ideje, biomérnök állást keresek, meguntam a programozást, mármint azt a részét, hogy tucat webshopokat kell php-ben programozni. Ki nem állhatom azt a nyelvet, elég volt belőle pár év.

    Jövőre ha lesz egy kis szabadidőm labor mellett, akkor összeszórok egy cucumber+jasmine kombinációt, mert a mostani cucumber elég fapados, és csak annyira lenne szükség, hogy jasmine fölé építsünk egy speckó test loadert, ami a gherkin syntax-os scenario-kat lefordítja jasmine-re. Ezt azért pár hét alatt össze lehet hozni sztem. Elvileg talán még gherkin parser is van készen, csak össze kell tákolni a jasmine-el.

    Közben sikerült összekombinálni jasmine+browserify+karma+gulp-ot. Még dolgozok rajta pár órát, aztán felteszek egy project templatet github-ra. Jó lenne még ilyen finomságokat, hogy sourcemap meg coverage meg ilyesmik is beletenni. Talán majd később. Ha fent van, akkor hozzácsapok egy babelify-t is külön branch-en aztán belinkelem.

    Mindenki fúj a PHP-ra, mondjuk jómagam nem nagyon dolgoztam még vele. Neked mi a konkrét problémád vele?

  • inf3rno
    nagyúr

    Nem semmi, én eddig nem tudom mikor jutottam volna el. :DDD Marad akkor a sima gulp-browserify, nekem jelenleg még tökéletes megteszi.

    Munkahelyen is használod a Jasminet, vagy csak otthon?

    Egy jó ideje már jasmine-el tesztelek TDD-vel, újabban meg cucumber-el BDD-vel. Szerintem jasmine teljesen alkalmas munkára. Mocha-t is megpróbáltam annak idején, de nem sikerült elindítani sem... :D Most nem melózok egy ideje, biomérnök állást keresek, meguntam a programozást, mármint azt a részét, hogy tucat webshopokat kell php-ben programozni. Ki nem állhatom azt a nyelvet, elég volt belőle pár év.

    Jövőre ha lesz egy kis szabadidőm labor mellett, akkor összeszórok egy cucumber+jasmine kombinációt, mert a mostani cucumber elég fapados, és csak annyira lenne szükség, hogy jasmine fölé építsünk egy speckó test loadert, ami a gherkin syntax-os scenario-kat lefordítja jasmine-re. Ezt azért pár hét alatt össze lehet hozni sztem. Elvileg talán még gherkin parser is van készen, csak össze kell tákolni a jasmine-el.

    Közben sikerült összekombinálni jasmine+browserify+karma+gulp-ot. Még dolgozok rajta pár órát, aztán felteszek egy project templatet github-ra. Jó lenne még ilyen finomságokat, hogy sourcemap meg coverage meg ilyesmik is beletenni. Talán majd később. Ha fent van, akkor hozzácsapok egy babelify-t is külön branch-en aztán belinkelem.

  • Zedz
    addikt

    Nem sikerül összehozni, bugzik karma, úh. nem tudom kiküldeni automatikus tesztre böngészőbe a bundle-t. Ha sikerül összehozni egy fejlesztői környezetet karmával, jasmine-el és browserify-al és sourcemap-el, akkor tudok majd foglalkozni vele. Nem ma lesz, az már biztos.

    Nem semmi, én eddig nem tudom mikor jutottam volna el. :DDD Marad akkor a sima gulp-browserify, nekem jelenleg még tökéletes megteszi.

    Munkahelyen is használod a Jasminet, vagy csak otthon?

  • inf3rno
    nagyúr

    Nem sikerül összehozni, bugzik karma, úh. nem tudom kiküldeni automatikus tesztre böngészőbe a bundle-t. Ha sikerül összehozni egy fejlesztői környezetet karmával, jasmine-el és browserify-al és sourcemap-el, akkor tudok majd foglalkozni vele. Nem ma lesz, az már biztos.

  • inf3rno
    nagyúr

    Igen, ezt én is olvastam, de nekem csak arra kell, hogy összemeccselje a modulokra szedett kódot. Esetleg találtál mást ez helyett?

    Egyelőre eddig jutottam vele:

    var browserify = require("browserify"),
    fs = require("fs");

    module.exports = function () {
    return browserify()
    .require("./dist/nodelist.latest.node.min", {expose: "nodelist"})
    .bundle()
    .pipe(fs.createWriteStream("dist/nodelist.latest.bundle.js"));
    };

    Annyi jött le, hogy a bundle() egy readable stream-et ad, amit aztán át lehet pipe-olni fájl írós stream-be. Ebben az esetben csak egy modult csomagoltam bele, és publikussá tettem, mert böngészős jasmine tesztekből akarom elérni. Ha magamnak fejlesztettem volna, akkor karma-browserify-t rakok alá, és nem mentem ki külön fájlba, de az már más kérdés.

    A te régi kódod elvileg nagyjából jó, csak a glob-ot kéne hozzácsapni. A vinyl source egy douplex stream, ami hozzácsapja a fájlnevet, szóval csak simán át kell küldeni rajta, aztán a dest-hez adni. Azt nem néztem még, hogy pontosan a fájlnév hozzáadása hogyan történik, gondolom van valami konvenciójuk rá, lényegtelen.

    gulp.task('js', function () {
    return browserify({
    entries: glob('./resources/assets/js/*.js'),
    debug: true,
    transform: [babelify]
    })
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('./public/assets/js'));
    });

    A recipes-ben is amúgy valami ilyesmit használnak. [link]

    Egyelőre még nem volt időm megnézni, mindjárt kipróbálom. Annyira nem vagyok elszállva babel-től, mint sokan. Valszeg nem fogom használni, inkább megvárom, amíg stabil lesz az async function. Azt írják, hogy draft jelenleg: [link], ami nekem nem elég.

    Amúgy semmi gond nincs gulp-browserify-al, amíg kompatibilis gulp-al. Kösd meg, hogy 3.x-es gulp legyen a lib-ed függősége, mert azt írják, csak azzal kompatibilis. Valszeg a 4.0-s gulp-al el fog törni.

  • inf3rno
    nagyúr

    Igen, ezt én is olvastam, de nekem csak arra kell, hogy összemeccselje a modulokra szedett kódot. Esetleg találtál mást ez helyett?

    Még nem, de ma este kipróbálom, hátha sima browserify-al is működésre tudom bírni.

  • Zedz
    addikt

    A gulp-browserify-al a helyedben vigyáznék. Most nézem, hogy 2 éve nem tartják karban, és azt írják, hogy nem is fogják már. [link]

    Igen, ezt én is olvastam, de nekem csak arra kell, hogy összemeccselje a modulokra szedett kódot. Esetleg találtál mást ez helyett?

  • inf3rno
    nagyúr

    Szállítom az ígért kódot. :)

    Szóval az volt a baj, hogy sima browserifyn akartam használni a babelifys transformot, ezt kellett lecserélni a gulp-browserifyre.

    Így néz ki most a task, kipróbáltam, nekem működik a dolog:

    var gulp = require('gulp');
    var sass = require('gulp-sass');
    var browserify = require('gulp-browserify');
    var babelify = require('babelify');

    gulp.task('js', function () {
    gulp.src('./resources/assets/js/*.js')
    .pipe(browserify({
    transform: ['babelify']
    }))
    .pipe(gulp.dest('./public/_assets/js'))
    });

    gulp.task('js-w', function () {
    gulp.watch('./resources/assets/js/*.js', ['js']);
    });

    Webpackot még nem próbáltam, csak olvastam róla.

    A gulp-browserify-al a helyedben vigyáznék. Most nézem, hogy 2 éve nem tartják karban, és azt írják, hogy nem is fogják már. [link]

  • inf3rno
    nagyúr

    Közben találtam egy életképes workaround-ot karmához a TDD-vel való csomagoló írásra. Mivel az autoWatch be van lőve, ezért meg tudom azt csinálni, hogy elindítom webstorm terminal-ból a karma-t a config fájllal, aztán otthagyom. És ha közben módosítom a fájlokat, amit a karma feltölt magának, akkor automatikusan lefut a teszt utána minden alkalommal ugyanazt a böngésző ablakot használva. Ehhez nem is igazán kell kódot módosítani, mert most is két külön npm script indítja a csomagolást és a tesztelést. Egyszerűen elég csak a csomagolós scriptet használni a fejlesztés során és hagyni az autoWatch-ot, hogy működjön, a travisben meg majd mindkét scriptet futtatom egymás után, ha erre lehetőség van. Arra gondoltam, hogy a travis-nél még beteszek majd egy env var-os állítót, ami hozzáad több böngészőt is a karma config-hoz meg többféle csomagot is tesztel. Pl a commonjs-es csomagot browserify-al, a sima böngészős csomagot meg anélkül, és így tovább. 10 féle tesztet össze lehet így szórni.

    Arról még mindig nem találtam info-t, hogyha a window-hoz nyúlunk egy fájlban, akkor arra milyen szabályok vonatkoznak commonjs-es csomagolásnál meg browserify-os visszaalakításnál. Abból indulok ki, hogy semmi extra nincs vele, ugyanúgy használhat window-ot továbbra is. Egyedül arra kell figyelni, hogy amit fel akarunk használni a kódunkban, arra legyen egy module.exports is a végén. A window-ból konkrétan olyan dolgokat ránt be, amik elsősorban böngészős dom-ra jellemzőek. Szóval nem ír, inkább importál dolgokat. Ezért gondolom úgy, hogy nagy kárt nem tehet, ha így hagyom. Nyilván a nodejs-es dom modulokkal egyelőre nem lesz kompatibilis, de majd a későbbiekben azt is hozzáadom. Elég lépésről lépésre haladni...

  • inf3rno
    nagyúr

    Tyűűű, ehhez sajnos nem tudok hozzászólni. :DDD

    Azt hiszem egyelőre most én is hagyom. Nem én csinálom a projektet, csak a csomagolás részébe segítek bele, aztán gondoltam legalább az legyen TDD alapon. Legalább egy pár szimpla jasmine tesztet írok majd arra, hogy megy e a böngészőben a lib vagy nem. A jquery-t akarja kiváltani vele a srác. [link]

    Ha valakit érdekel, akkor karma-ban singeRun-al így oldható meg rendesen:

    var karma = require("karma");

    module.exports = function (done) {
    var server = new karma.Server({
    configFile: "../../../karma.conf.js",
    singleRun: true
    }, function (exitCode) {
    done();
    });
    server.start();
    };

    Az előző kód valamiért singleRun: true esetében ha hibás volt a teszt, akkor elszállt valamilyen gulp hibával. Nem értek a lelki világához, debugra meg most nem igazán van időm. Ennél is fontos, hogy a karma config fájlban __dirname-t használjunk, különben rossz helyet állít be basePath-nak. Ne kérdezzétek miért, valszeg ez is egy bug lehet. Már reportoltam.

  • Zedz
    addikt

    Azt nézem hatalmas különbség nincsen, csak annyi, hogy streamelhetővé teszi browserify-t. Elméletileg enélkül is működnie kellett volna sima callback-el. Így azért szerintem sokkal szebb, hogy tudja a gulp src-t használni, és nem kell glob-ot meg ilyesmiket beletákolni a kódba. Majd ha kipróbálom babel-t, akkor visszatérek ehhez. A webpack-re azt mondják, hogy babel-el gyorsabban csomagol, meg hogy kisebb a minified fájlméret is. Azért nem olyan egyszerű belőni, mint a browserify-t.

    Karmával van tapasztalatod? Azzal küzdök, hogy gulp task-el szervert indítsak, ami nem záródik be a gulp task végén sem. Gondolom child process-be kellene tenni valahogy, és belőni daemon-nak a child process-t. Egyelőre idáig jutottam:

    var karma = require("karma"),
    gutil = require("gutil");

    module.exports = function (done) {
    var server = new karma.Server({
    configFile: "../../../karma.conf.js"
    });
    server.on("browser_error", function (browser, err) {
    gutil.log("Karma Run Failed: " + err.message);
    throw err;
    });
    server.on("run_complete", function (browsers, results) {
    gutil.log("Karma Run Complete: " + results.failed ? "Some of the Tests Failed" : "No Failures");
    done();
    });
    server.start();
    };

    module.exports = function (config) {
    config.set({
    basePath: __dirname,
    frameworks: ['jasmine'],
    files: [
    {pattern: 'src/nodelist.js', included: true},
    {pattern: 'tests/*.js', included: true}
    ],
    exclude: [],
    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Firefox'],
    captureTimeout: 6000,
    singleRun: false
    });
    };

    Az a kínja most, hogy a teszt futása közben megakad az egész a singleRun: false miatt. Gondolom ezt a részt valahogy ki kellene szervezni child process-be, aztán megpingelni a szervert, hogy fel van e lőve. Ha igen, akkor meg hagyni, hadd dolgozzon. A gond csak az, hogy elvileg ezt a karma magától megteszi. Szóval nem tudom, hogy melyik részt lenne érdemes child process-be tenni, és hogyan kommunikálni vele. Láttam, hogy van olyan, hogy karma client, lehet, hogy a szervert miután a child process-be tettem csinálni kell egy client-et, ami majd kommunikál vele. Gondolom a fájl frissítéseket az autoWatch automatikusan megcsinálja, szóval azzal a részével nem lenne gond. Hát egyelőre zavaros, dokumentáció meg általában nem nagyon van ilyen mélyebb dolgokról. Majd feltúrom a kódot, aztán lesz valami.

    Tyűűű, ehhez sajnos nem tudok hozzászólni. :DDD

  • inf3rno
    nagyúr

    Szállítom az ígért kódot. :)

    Szóval az volt a baj, hogy sima browserifyn akartam használni a babelifys transformot, ezt kellett lecserélni a gulp-browserifyre.

    Így néz ki most a task, kipróbáltam, nekem működik a dolog:

    var gulp = require('gulp');
    var sass = require('gulp-sass');
    var browserify = require('gulp-browserify');
    var babelify = require('babelify');

    gulp.task('js', function () {
    gulp.src('./resources/assets/js/*.js')
    .pipe(browserify({
    transform: ['babelify']
    }))
    .pipe(gulp.dest('./public/_assets/js'))
    });

    gulp.task('js-w', function () {
    gulp.watch('./resources/assets/js/*.js', ['js']);
    });

    Webpackot még nem próbáltam, csak olvastam róla.

    Azt nézem hatalmas különbség nincsen, csak annyi, hogy streamelhetővé teszi browserify-t. Elméletileg enélkül is működnie kellett volna sima callback-el. Így azért szerintem sokkal szebb, hogy tudja a gulp src-t használni, és nem kell glob-ot meg ilyesmiket beletákolni a kódba. Majd ha kipróbálom babel-t, akkor visszatérek ehhez. A webpack-re azt mondják, hogy babel-el gyorsabban csomagol, meg hogy kisebb a minified fájlméret is. Azért nem olyan egyszerű belőni, mint a browserify-t.

    Karmával van tapasztalatod? Azzal küzdök, hogy gulp task-el szervert indítsak, ami nem záródik be a gulp task végén sem. Gondolom child process-be kellene tenni valahogy, és belőni daemon-nak a child process-t. Egyelőre idáig jutottam:

    var karma = require("karma"),
    gutil = require("gutil");

    module.exports = function (done) {
    var server = new karma.Server({
    configFile: "../../../karma.conf.js"
    });
    server.on("browser_error", function (browser, err) {
    gutil.log("Karma Run Failed: " + err.message);
    throw err;
    });
    server.on("run_complete", function (browsers, results) {
    gutil.log("Karma Run Complete: " + results.failed ? "Some of the Tests Failed" : "No Failures");
    done();
    });
    server.start();
    };

    module.exports = function (config) {
    config.set({
    basePath: __dirname,
    frameworks: ['jasmine'],
    files: [
    {pattern: 'src/nodelist.js', included: true},
    {pattern: 'tests/*.js', included: true}
    ],
    exclude: [],
    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Firefox'],
    captureTimeout: 6000,
    singleRun: false
    });
    };

    Az a kínja most, hogy a teszt futása közben megakad az egész a singleRun: false miatt. Gondolom ezt a részt valahogy ki kellene szervezni child process-be, aztán megpingelni a szervert, hogy fel van e lőve. Ha igen, akkor meg hagyni, hadd dolgozzon. A gond csak az, hogy elvileg ezt a karma magától megteszi. Szóval nem tudom, hogy melyik részt lenne érdemes child process-be tenni, és hogyan kommunikálni vele. Láttam, hogy van olyan, hogy karma client, lehet, hogy a szervert miután a child process-be tettem csinálni kell egy client-et, ami majd kommunikál vele. Gondolom a fájl frissítéseket az autoWatch automatikusan megcsinálja, szóval azzal a részével nem lenne gond. Hát egyelőre zavaros, dokumentáció meg általában nem nagyon van ilyen mélyebb dolgokról. Majd feltúrom a kódot, aztán lesz valami.

  • Zedz
    addikt

    Persze, érdekel. Nézem közben, hogy van ilyen is, hogy webpack. Próbáltad már azt is?

    Szállítom az ígért kódot. :)

    Szóval az volt a baj, hogy sima browserifyn akartam használni a babelifys transformot, ezt kellett lecserélni a gulp-browserifyre.

    Így néz ki most a task, kipróbáltam, nekem működik a dolog:

    var gulp = require('gulp');
    var sass = require('gulp-sass');
    var browserify = require('gulp-browserify');
    var babelify = require('babelify');

    gulp.task('js', function () {
    gulp.src('./resources/assets/js/*.js')
    .pipe(browserify({
    transform: ['babelify']
    }))
    .pipe(gulp.dest('./public/_assets/js'))
    });

    gulp.task('js-w', function () {
    gulp.watch('./resources/assets/js/*.js', ['js']);
    });

    Webpackot még nem próbáltam, csak olvastam róla.

  • inf3rno
    nagyúr

    Időközben megoldódott a probléma. Sima browserify helyett gulp-browserifyt kell használni, persze a task is változik. Most nem vagyok otthon, nem tudok kódot mutatni, de ha érdekel a megoldás akkor holnap bemásolom ide is.

    Szerk.: köszönöm a válaszokat amúgy. :)

    Persze, érdekel. Nézem közben, hogy van ilyen is, hogy webpack. Próbáltad már azt is?

  • Zedz
    addikt

    Közben kiderült, hogy a sorrend stimmel. A gond nem ezzel van, hanem nagy valószínűséggel az entries nem fogad glob patternt, csak útvonalakat egy tömbben. Szóval ha egy glob kimenetet rátennél, akkor valszeg működne. Legalábbis a példakódok alapján, amiket eddig láttam. [link]

    Időközben megoldódott a probléma. Sima browserify helyett gulp-browserifyt kell használni, persze a task is változik. Most nem vagyok otthon, nem tudok kódot mutatni, de ha érdekel a megoldás akkor holnap bemásolom ide is.

    Szerk.: köszönöm a válaszokat amúgy. :)

  • inf3rno
    nagyúr

    Sziasztok,

    Használta már valaki akár kipróbálás szinten a gulp-babel-browserify kombót? A gulpot és browserifyt már sikeresen működésre tudom bírni, de amikor a babelify transform képbe jön, elszáll egy ilyen hibával: browserify(...).transform is not a function.

    Google haverom talált pár példát, sajnos mindegyiknél ezt dobja.

    Maga a task:

    gulp.task('js', function () {
    return browserify({ entries: './resources/assets/js/*.js', debug: true })
    .transform(babelify)
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('./public/assets/js'));
    });

    Közben kiderült, hogy a sorrend stimmel. A gond nem ezzel van, hanem nagy valószínűséggel az entries nem fogad glob patternt, csak útvonalakat egy tömbben. Szóval ha egy glob kimenetet rátennél, akkor valszeg működne. Legalábbis a példakódok alapján, amiket eddig láttam. [link]

  • inf3rno
    nagyúr

    Hmm érdekes, itt is úgy használják, ahogy te [link]. Majd ránézek valamikor, ha kiokodtam egy kicsit gulp-al, de gyanítom, hogy addigra megoldod. Ha már szóba került, nincs valami info-tok arról, hogy browserify-al hogyan tudnék kompatibilissé tenni egy totál böngészős kódot? Ilyen window.Symbol meg window.NodeList meg ilyeneket használ. Browserify-nak úgy tudom commonjs modul kell. Jó ugyanígy window-ot használva és elég csak a végén egy module.exports-ot betenni?

  • inf3rno
    nagyúr

    Sziasztok,

    Használta már valaki akár kipróbálás szinten a gulp-babel-browserify kombót? A gulpot és browserifyt már sikeresen működésre tudom bírni, de amikor a babelify transform képbe jön, elszáll egy ilyen hibával: browserify(...).transform is not a function.

    Google haverom talált pár példát, sajnos mindegyiknél ezt dobja.

    Maga a task:

    gulp.task('js', function () {
    return browserify({ entries: './resources/assets/js/*.js', debug: true })
    .transform(babelify)
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('./public/assets/js'));
    });

    Hát ilyenkor első körben érdemes lenne konzolba kiíratni, hogy mégis mi a browserify({ entries: './resources/assets/js/*.js', debug: true }).transform értéke, ha nem függvény. Gondolom undefined. Ránézésre én azt mondanám, hogy először kellene a babel kódot átalakítani normál js-re, és csak utána átküldeni browserify-on, mert úgy sejtem, hogy a browserify nem tudja feldolgozni a babel kódját. A kód alapján pont fordítva ülsz a lovon. Persze lehet, hogy én tévedek. Browserify-t ma akarom fellőni először gulp-al, karmával meg nightwatch-al egy böngészős projekt tesztelésére. Az utóbbi kettő már ment, de elfelejtettem mióta utoljára használtam őket. :D

  • Zedz
    addikt

    Sziasztok,

    Használta már valaki akár kipróbálás szinten a gulp-babel-browserify kombót? A gulpot és browserifyt már sikeresen működésre tudom bírni, de amikor a babelify transform képbe jön, elszáll egy ilyen hibával: browserify(...).transform is not a function.

    Google haverom talált pár példát, sajnos mindegyiknél ezt dobja.

    Maga a task:

    gulp.task('js', function () {
    return browserify({ entries: './resources/assets/js/*.js', debug: true })
    .transform(babelify)
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('./public/assets/js'));
    });

  • inf3rno
    nagyúr

    Őszintén szólva én csak Chrome alatt próbáltam ki pár dolgot, éles projekten még nem mertem bevetni. De ha jól emlékszem az async functionök még a Babelben is csak mint kísérleti dolog szerepelnek.

    IE supportot tekintve azt hiszem IE9 az ami még jobban támogatva van, a 8 pedig mintha csak részben lenne támogatott. Meddig gondoltad az IE kompatibilitást?

    Tőlem edge is lehet. Async function nincs egyikben sem, ahogy Object.observe sem... Elvileg az előbbit valahogy implementálni lehet ES5-ben is, az utóbbira viszont úgy tudom, hogy nincs polyfill. Azt hiszem kipróbálom valamikor babel-t.

  • Zedz
    addikt

    Babel-el kapcsolatban tudsz némi információval szolgálni? Leginkább az érdekelne, hogy async function és Object.observe mennyire működik vele msie alatt (gondolom babelify + browserify amit használni kellene hozzá). Ha ott megy, akkor mindenhol. Ha meg ennyire széles a support, akkor nem szórakozok ES5-el, hanem inkább áttérek rá én is.

    Őszintén szólva én csak Chrome alatt próbáltam ki pár dolgot, éles projekten még nem mertem bevetni. De ha jól emlékszem az async functionök még a Babelben is csak mint kísérleti dolog szerepelnek.

    IE supportot tekintve azt hiszem IE9 az ami még jobban támogatva van, a 8 pedig mintha csak részben lenne támogatott. Meddig gondoltad az IE kompatibilitást?

  • PumpkinSeed
    addikt

    <input type="text" name="txt" value="<?php echo $variable; ?>" onchange="ajax_post()">

    Mivel az inputból akarja közvetlenül feltölteni a változót, így ez csúnyán reflected XSS gyanús - ha nem történik ellenőrzés vagy kódolás szerveroldalon.

    Eszembe se jutott nem ellenőrizni szerveroldalon.

  • inf3rno
    nagyúr

    Megnézem mik a lehetőségeim. Semmiképp sem lesz sync az ajax hívásom. Most a babel.js-t próbálgatom egy hobbi projekt keretein belül, szóval ennek lehetőségeit nézem most, kutakodok. :)

    Babel-el kapcsolatban tudsz némi információval szolgálni? Leginkább az érdekelne, hogy async function és Object.observe mennyire működik vele msie alatt (gondolom babelify + browserify amit használni kellene hozzá). Ha ott megy, akkor mindenhol. Ha meg ennyire széles a support, akkor nem szórakozok ES5-el, hanem inkább áttérek rá én is.

  • sztanozs
    veterán

    Attol hogy belebeszelek a mikrofonba :D

    Az egész koncepciót nem értem... Mit töltesz fel hova honnan, miért ajax-olsz és mit csinálsz szerveroldalon?

  • zsolti_20
    senior tag

    Értem én - ha én nem írok konkrétan semmit a kérdésedre, akkor te sem a felvetésemre reagálsz ;]

    Amúgy mitől kap értéket a változó?

    Attol hogy belebeszelek a mikrofonba :D

  • sztanozs
    veterán

    Jelenleg a weboldalam ugy mukodik, hogy van egy valtozo amit feltoltok egy bizonyos ertekkel pl "alma". Ha megjelenik ez a szo automatikusan ajax postolja. Ezt ugy oldottam meg hogy az ajax postot hozza rendeltem egy gombhoz, aztan js-ben negadtam neki h minden 1,5mp-ben lenyomja egyszer a gombot. Miutan megtortent az ajax post nullazza a a valtozot. Igy az "alma" szo eltunik es csak ures valtozot postol. A celom az lenne hogy amint a valtozo erteket kap ajax postoljon es kivehessem ezt az idoziteses gombnyomkodast.

    Értem én - ha én nem írok konkrétan semmit a kérdésedre, akkor te sem a felvetésemre reagálsz ;]

    Amúgy mitől kap értéket a változó?

  • zsolti_20
    senior tag

    <input type="text" name="txt" value="<?php echo $variable; ?>" onchange="ajax_post()">

    Mivel az inputból akarja közvetlenül feltölteni a változót, így ez csúnyán reflected XSS gyanús - ha nem történik ellenőrzés vagy kódolás szerveroldalon.

    Jelenleg a weboldalam ugy mukodik, hogy van egy valtozo amit feltoltok egy bizonyos ertekkel pl "alma". Ha megjelenik ez a szo automatikusan ajax postolja. Ezt ugy oldottam meg hogy az ajax postot hozza rendeltem egy gombhoz, aztan js-ben negadtam neki h minden 1,5mp-ben lenyomja egyszer a gombot. Miutan megtortent az ajax post nullazza a a valtozot. Igy az "alma" szo eltunik es csak ures valtozot postol. A celom az lenne hogy amint a valtozo erteket kap ajax postoljon es kivehessem ezt az idoziteses gombnyomkodast.

  • sztanozs
    veterán

    PHP esetén:

    <input type="text" name="txt" value="<?php echo $variable; ?>" onchange="ajax_post()">

    JS esetén

    <input type="text" name="txt" id="azonosito" value="" onchange="ajax_post()">

    <script>
    document.getElementById("azonosito").value = variable;
    </script>

    <input type="text" name="txt" value="<?php echo $variable; ?>" onchange="ajax_post()">

    Mivel az inputból akarja közvetlenül feltölteni a változót, így ez csúnyán reflected XSS gyanús - ha nem történik ellenőrzés vagy kódolás szerveroldalon.

  • zsolti_20
    senior tag

    PHP esetén:

    <input type="text" name="txt" value="<?php echo $variable; ?>" onchange="ajax_post()">

    JS esetén

    <input type="text" name="txt" id="azonosito" value="" onchange="ajax_post()">

    <script>
    document.getElementById("azonosito").value = variable;
    </script>

    Ha megadom neki hogy egy változó értékét vegye fel, azt kapom a szövegdobozban hogy "undefined". Viszont ha ehhez hozzá írok egy betűt vagy elveszek, akkor elkezd ajax postolni.

  • zsolti_20
    senior tag

    keyup azért nem jó, mert ha csak egérrel másolják be az értéket, akkor nem történik semmi.

    Igen ez hasznos gondolat, keyup-ot szeretném elkerülni ilyen szempontból. :R

  • inf3rno
    nagyúr

    onchange-et onkeyup-ra cseréld le.
    Amúgy az előttem szólónak igaza van, sokkal szebb, ha eventlistenert állítassz be.
    Google bácsi elég hasznos válaszokat ad a "javascript event listener keyup" és hasonló kifejezésekre, ha csak js-t használsz.

    keyup azért nem jó, mert ha csak egérrel másolják be az értéket, akkor nem történik semmi.

  • GG888
    senior tag

    Van olyan megoldás, ahol ha új érték kerül be azonnal ajax postol? Mert ezzel az a gond, hogy ki kell menni a fókuszból.

    onchange-et onkeyup-ra cseréld le.
    Amúgy az előttem szólónak igaza van, sokkal szebb, ha eventlistenert állítassz be.
    Google bácsi elég hasznos válaszokat ad a "javascript event listener keyup" és hasonló kifejezésekre, ha csak js-t használsz.

  • inf3rno
    nagyúr

    Van olyan megoldás, ahol ha új érték kerül be azonnal ajax postol? Mert ezzel az a gond, hogy ki kell menni a fókuszból.

    Persze, oninput például ilyen. Régi msie-ben onpropertychange-el lehetett ugyanezt elérni, nem tudom, hogy a mai msie támogatja e már az oninputot. Lehet még huncutkodni Object.observe-el meg setterrel, de az első azt hiszem még nem támogatott, a második meg nem hiszem, hogy DOM node-ra támogatott, vagy hogy azon keresztül állítaná e be az értéket. Ami még esetleg szóba jöhet, ha nem input-ról lenne szó, hogy setInterval-al nézed az értékét, hogy változott e, de az már tényleg fapados megoldás.

  • inf3rno
    nagyúr

    Csak kiegészítésképpen: az inlne event handler-től sokkal szebb (jobb, és általánosabb) egy event listener használata. Szerintem. :P Erősítsen meg ebben valaki pls.

    Megerősítve. :-)

  • zsolti_20
    senior tag

    PHP esetén:

    <input type="text" name="txt" value="<?php echo $variable; ?>" onchange="ajax_post()">

    JS esetén

    <input type="text" name="txt" id="azonosito" value="" onchange="ajax_post()">

    <script>
    document.getElementById("azonosito").value = variable;
    </script>

    Van olyan megoldás, ahol ha új érték kerül be azonnal ajax postol? Mert ezzel az a gond, hogy ki kell menni a fókuszból.

  • DNReNTi
    őstag

    Ha inputba írod akkor az onchange esemény az ami ezt megoldja neked.
    <input type="text" ... onchange="függvény(this)"/>
    Az függvény helyére értelemszerűen egy javascript függvényt kell megadni ami feldolgozza azt, hogy ez változott.
    A JS függvény paramétere a this ami az inputra mutat és ennek a .value "metódusát" kell meghívni, és ezt egy változóban tárolni pl.:
    func(obj){
    valami = obj.value;
    //ajax kérés helye
    }

    Csak kiegészítésképpen: az inlne event handler-től sokkal szebb (jobb, és általánosabb) egy event listener használata. Szerintem. :P Erősítsen meg ebben valaki pls.

  • PumpkinSeed
    addikt

    Már majdnem tökéletesen működik. Egy dolog érdekelne még, hogy <input type="text" name="txt" value='' onchange="ajax_post()">

    Ebben a sorban a value értékének, hogyan lehet egy változó értékét megadni?

    PHP esetén:

    <input type="text" name="txt" value="<?php echo $variable; ?>" onchange="ajax_post()">

    JS esetén

    <input type="text" name="txt" id="azonosito" value="" onchange="ajax_post()">

    <script>
    document.getElementById("azonosito").value = variable;
    </script>

  • zsolti_20
    senior tag

    Ha inputba írod akkor az onchange esemény az ami ezt megoldja neked.
    <input type="text" ... onchange="függvény(this)"/>
    Az függvény helyére értelemszerűen egy javascript függvényt kell megadni ami feldolgozza azt, hogy ez változott.
    A JS függvény paramétere a this ami az inputra mutat és ennek a .value "metódusát" kell meghívni, és ezt egy változóban tárolni pl.:
    func(obj){
    valami = obj.value;
    //ajax kérés helye
    }

    Már majdnem tökéletesen működik. Egy dolog érdekelne még, hogy <input type="text" name="txt" value='' onchange="ajax_post()">

    Ebben a sorban a value értékének, hogyan lehet egy változó értékét megadni?

  • PumpkinSeed
    addikt

    Sziasztok! Érdeklődni szeretnék, hogyan oldható meg a következő probléma. Először is elkell mondanom, hogy most tanulom az alapokat JS-ből, hobbi szinten gyakorlok kérlek ne kövezettek meg. :R Csináltam egy weboldalt ahol fellehet tölteni egy változó tartalmát pl.:

    var x = 'amit beírsz a weboldalon'

    Ennek a var x tartalmát szeretnék ajax posttal tovább küldeni PHP-ba. Ez már mind működik gombnyomásra. Beállítottam a gombnak egy időzítést, így nyomja a postot 1.5mp-ként. Gondolkodtam, hogy tovább kellene az egészet fejleszteni. Lehetséges olyat csinálni, hogy valami figyelje a változót értékét, és ha bekerül mondjuk egy "A" betű akkor automatikusan ugorjon az ajax posthoz?

    Szval hogy ne gombbal működjön és postoljon fölöslegesen 1.5mp-ként, hanem a változóhoz kötve, így csak akkor postol ha valamit beírnak. A gombot szeretném elhagyni, hogy ne kelljen nyomogatni. Lehetséges ilyesmit elérni? :R

    Ha inputba írod akkor az onchange esemény az ami ezt megoldja neked.
    <input type="text" ... onchange="függvény(this)"/>
    Az függvény helyére értelemszerűen egy javascript függvényt kell megadni ami feldolgozza azt, hogy ez változott.
    A JS függvény paramétere a this ami az inputra mutat és ennek a .value "metódusát" kell meghívni, és ezt egy változóban tárolni pl.:
    func(obj){
    valami = obj.value;
    //ajax kérés helye
    }

  • zsolti_20
    senior tag

    Sziasztok! Érdeklődni szeretnék, hogyan oldható meg a következő probléma. Először is elkell mondanom, hogy most tanulom az alapokat JS-ből, hobbi szinten gyakorlok kérlek ne kövezettek meg. :R Csináltam egy weboldalt ahol fellehet tölteni egy változó tartalmát pl.:

    var x = 'amit beírsz a weboldalon'

    Ennek a var x tartalmát szeretnék ajax posttal tovább küldeni PHP-ba. Ez már mind működik gombnyomásra. Beállítottam a gombnak egy időzítést, így nyomja a postot 1.5mp-ként. Gondolkodtam, hogy tovább kellene az egészet fejleszteni. Lehetséges olyat csinálni, hogy valami figyelje a változót értékét, és ha bekerül mondjuk egy "A" betű akkor automatikusan ugorjon az ajax posthoz?

    Szval hogy ne gombbal működjön és postoljon fölöslegesen 1.5mp-ként, hanem a változóhoz kötve, így csak akkor postol ha valamit beírnak. A gombot szeretném elhagyni, hogy ne kelljen nyomogatni. Lehetséges ilyesmit elérni? :R

  • martonx
    veterán

    var openPhotoSwipe = function(items, options) {
    var pswpElement = document.querySelectorAll('.pswp')[0];
    var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
    gallery.init();

    function gotoD() {
    gallery.goTo(gallery.items.length-1);
    gallery.invalidateCurrItems();
    gallery.updateSize(true);
    return false;
    }

    function add() {
    jQuery.ajax( {
    url: "ajax.php",
    method: "POST",
    data: { title: jQuery(".hidden-title").html(), parameter: jQuery(".sizes-select :selected").last().text(), method: "add" },
    dataType: "json"
    })
    .done(function(items) {
    gallery.close();
    document.location.replace("asd.php");
    })
    .fail(function() {
    alert("AJAX kommunikációs hiba történt!");
    });
    }

    gallery.listen('afterChange', function() {
    jQuery(".add").click(add);
    jQuery(".goto-D").click(gotoD);
    });

    gallery.listen('destroy', function() { document.location.replace("asd.php"); });

    gallery.listen('imageLoadComplete', function(index, item) {
    jQuery("img").removeClass("loading");

    jQuery(".add").click(add);
    jQuery(".goto-D").click(gotoD);
    });

    gallery.listen('close', function() {
    jQuery("img").removeClass("loading");
    });
    };

    A destroy listener gombra kattintva hozzáadva lenne tökéletes, viszont önmagában sem működik, csak 10-ből úgy 5-ször.

    Ez így nem tűnik rossznak. Ha megtennéd, hogy csinálsz egy jsfiddle konkrét példát, akkor talán jobban meg tudnánk vizsgálni.

  • randras
    veterán

    Ember, ne azt a triviális kódot add már meg, hogy hogyan navigalsz, hanem milyen eventre iratkoztál fel, ahol navigálni akarsz? Ide talán: pswp.listen('destroy', function() { });
    Illetve látom ezt próbáltad, de mégis nem lehetne konkrét kódot mutatnod? Mobilról vagyok, így nem fogok példa kodot összerakni.

    var openPhotoSwipe = function(items, options) {
    var pswpElement = document.querySelectorAll('.pswp')[0];
    var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, options);
    gallery.init();

    function gotoD() {
    gallery.goTo(gallery.items.length-1);
    gallery.invalidateCurrItems();
    gallery.updateSize(true);
    return false;
    }

    function add() {
    jQuery.ajax( {
    url: "ajax.php",
    method: "POST",
    data: { title: jQuery(".hidden-title").html(), parameter: jQuery(".sizes-select :selected").last().text(), method: "add" },
    dataType: "json"
    })
    .done(function(items) {
    gallery.close();
    document.location.replace("asd.php");
    })
    .fail(function() {
    alert("AJAX kommunikációs hiba történt!");
    });
    }

    gallery.listen('afterChange', function() {
    jQuery(".add").click(add);
    jQuery(".goto-D").click(gotoD);
    });

    gallery.listen('destroy', function() { document.location.replace("asd.php"); });

    gallery.listen('imageLoadComplete', function(index, item) {
    jQuery("img").removeClass("loading");

    jQuery(".add").click(add);
    jQuery(".goto-D").click(gotoD);
    });

    gallery.listen('close', function() {
    jQuery("img").removeClass("loading");
    });
    };

    A destroy listener gombra kattintva hozzáadva lenne tökéletes, viszont önmagában sem működik, csak 10-ből úgy 5-ször.

  • martonx
    veterán

    Helló!

    Majdnem kész (és hamarosan indítandó) oldal tesztelése közben jött ki, hogy a képek megjelenítésére használt PhotoSwipe-al gond van. Ha a captionben lévő gombra kattint a user, be kéne zárulnia + elnavigálnia az oldalról (document.location.replace("asd.php");). Nos valószínűleg még a bezárulás vége előtt lefut a navigálás, ami így néha nem hajtódik végre...

    Ha valaki ismeri ezt a képmegjelenítőt, és van ötlete a megoldásra, szívesen fogadom.

    pswp.listen('destroy', function() { }); -t próbáltam, úgy sem jobb. Vagy rosszul próbáltam?

    :R

    Ember, ne azt a triviális kódot add már meg, hogy hogyan navigalsz, hanem milyen eventre iratkoztál fel, ahol navigálni akarsz? Ide talán: pswp.listen('destroy', function() { });
    Illetve látom ezt próbáltad, de mégis nem lehetne konkrét kódot mutatnod? Mobilról vagyok, így nem fogok példa kodot összerakni.

  • randras
    veterán

    Helló!

    Majdnem kész (és hamarosan indítandó) oldal tesztelése közben jött ki, hogy a képek megjelenítésére használt PhotoSwipe-al gond van. Ha a captionben lévő gombra kattint a user, be kéne zárulnia + elnavigálnia az oldalról (document.location.replace("asd.php");). Nos valószínűleg még a bezárulás vége előtt lefut a navigálás, ami így néha nem hajtódik végre...

    Ha valaki ismeri ezt a képmegjelenítőt, és van ötlete a megoldásra, szívesen fogadom.

    pswp.listen('destroy', function() { }); -t próbáltam, úgy sem jobb. Vagy rosszul próbáltam?

    :R

  • Phobion
    addikt

    Nagyon szépen köszönöm mindenkinek a válaszokat! Ezek alapján megpróbáljuk :K

  • inf3rno
    nagyúr

    Sziasztok!

    A segítségeteket szeretném kérni egy aprócska problémához:

    weblapot készítek, adott egy ' index.html ' ami meghív egy ' general.js ' scriptet, ebben a script-ben az alábbihoz hasonló sorok találhatóak:

    $(document).ready(function() {$('#mm1').click(function() {$('#content').load('xyz.html');}); });

    és ezzel zárul:

    "
    $(document).ready(function() {

    $('#example tr').click(function() {
    var href = $(this).find("a").attr("href");
    if(href) {
    window.location = href;
    }
    });

    $('#example tr').hover(function() {
    $(this).css('cursor','pointer');
    });

    }); "

    A problémám az lenne, hogy a böngészőben ha a vissza gombra kattolok, konkrétan nem történik semmi, következő kattintásra pedig konkrétan vissza dob az előző oldalra - bármi is volt az -

    válaszotokat előre is köszönöm :R

    Ajax-al tölti be az oldalt. A history-ba meg betesz egy bejegyzést pushState-el. Ez a window.location = href; meg elég gánynak számít, ha közben ajax-al töltögetsz be dolgokat.

  • GG888
    senior tag

    Igen, gondolom faék egyszerűségű, avagy nem témához illő, de nem csak egy böngészőnél tapasztaltuk ezt.. és nem is egy munkaállomásnál :F

    Az lesz amit indigo kolléga mond, ajánlott olvasmányként a history API-t javaslom, ha már ajax-szal kell oldalakat behívnotok.

    [MDN link] és [Dive Into HTML5 link]

  • indigo
    aktív tag

    Igen, gondolom faék egyszerűségű, avagy nem témához illő, de nem csak egy böngészőnél tapasztaltuk ezt.. és nem is egy munkaállomásnál :F

    Csak egy ötlet: nem lehet, hogy ez a kód Ajax load függvénnyel tolja be az oldalt, és ott nem használható a Vissza gomb a böngészőben? Legalábbis, ha a cache-selés nincs megoldva a js fájlban, akkor nem használható a Vissza gomb azon funkciója, hogy a korábban böngészett oldalra irányítson vissza.

  • Phobion
    addikt

    Csak mert szerintem ennek semmi köze nincs ahhoz, ha valakinek furán viselkedik a böngészője.
    Legalábbis a kiragadott kódrészeknek egészen biztosan nem.
    Mondjuk mindig feldobja az ember napját ilyen kódok meglátása :D

    Igen, gondolom faék egyszerűségű, avagy nem témához illő, de nem csak egy böngészőnél tapasztaltuk ezt.. és nem is egy munkaállomásnál :F

  • martonx
    veterán

    az igazság az, hogy ismerősnek szeretnék segíteni , de ettől függetlenül amit bemásoltam azt a .js kiterjesztésű fájlból másoltam ki :B

    Csak mert szerintem ennek semmi köze nincs ahhoz, ha valakinek furán viselkedik a böngészője.
    Legalábbis a kiragadott kódrészeknek egészen biztosan nem.
    Mondjuk mindig feldobja az ember napját ilyen kódok meglátása :D

  • Phobion
    addikt

    És szerinted ennek köze van ehhez a js kódrészlethez?

    az igazság az, hogy ismerősnek szeretnék segíteni , de ettől függetlenül amit bemásoltam azt a .js kiterjesztésű fájlból másoltam ki :B

  • martonx
    veterán

    Sziasztok!

    A segítségeteket szeretném kérni egy aprócska problémához:

    weblapot készítek, adott egy ' index.html ' ami meghív egy ' general.js ' scriptet, ebben a script-ben az alábbihoz hasonló sorok találhatóak:

    $(document).ready(function() {$('#mm1').click(function() {$('#content').load('xyz.html');}); });

    és ezzel zárul:

    "
    $(document).ready(function() {

    $('#example tr').click(function() {
    var href = $(this).find("a").attr("href");
    if(href) {
    window.location = href;
    }
    });

    $('#example tr').hover(function() {
    $(this).css('cursor','pointer');
    });

    }); "

    A problémám az lenne, hogy a böngészőben ha a vissza gombra kattolok, konkrétan nem történik semmi, következő kattintásra pedig konkrétan vissza dob az előző oldalra - bármi is volt az -

    válaszotokat előre is köszönöm :R

    És szerinted ennek köze van ehhez a js kódrészlethez?

  • Phobion
    addikt

    Sziasztok!

    A segítségeteket szeretném kérni egy aprócska problémához:

    weblapot készítek, adott egy ' index.html ' ami meghív egy ' general.js ' scriptet, ebben a script-ben az alábbihoz hasonló sorok találhatóak:

    $(document).ready(function() {$('#mm1').click(function() {$('#content').load('xyz.html');}); });

    és ezzel zárul:

    "
    $(document).ready(function() {

    $('#example tr').click(function() {
    var href = $(this).find("a").attr("href");
    if(href) {
    window.location = href;
    }
    });

    $('#example tr').hover(function() {
    $(this).css('cursor','pointer');
    });

    }); "

    A problémám az lenne, hogy a böngészőben ha a vissza gombra kattolok, konkrétan nem történik semmi, következő kattintásra pedig konkrétan vissza dob az előző oldalra - bármi is volt az -

    válaszotokat előre is köszönöm :R

  • Speeedfire
    félisten

    Sziasztok!

    Foglalkozott már valaki ckeditor plugin fejlesztéssel? AC plugin-t szeretnék, de nem akar működni. Esetleg rá tudnátok nézni? [link] :)

  • inf3rno
    nagyúr

    Van valami ötletetek, hogy hogyan tudnék svg megjelenítés sebességén javítani? Firefox, MSIE rohadt lassú, eszi a processzort és szaggat közben a scroll. Egyedül az opera, ami normálisan megjeleníti gond nélkül. (yEd-ből exportáltam egy gráfot, és azt szeretném betenni egy weboldalra. Mindenhol azt olvasom, hogy az SVG animációk okoznak magas CPU-t, hát nálam anélkül is beszaggat. Lehet inkább d3-al kellene kísérleteznem, csak az annyira gagyi hierarchical layout-nál, legalábbis még nem láttam olyan példát, ami a grouping-ot is megoldta volna áttekinthető módon, ahogy a yEd teszi.)

  • dqdb
    nagyúr

    Szép találat, türelmes voltál. :D Végül is ez esetben meg lehetne tenni, hogy a fájtl letölti, átírja ennek megfelelően, és az adott kérésre ezt az új tartalmat szolgálja ki saját extensionnel, DE ennek igen komoly hátránya, hogy "bedrótozza" a korábbi kódot, és a fájl frissülése nála nem lesz érvényes.
    Azt nézem, hogy van egy ilyen rész a kódban:

    setTimeout(function() {
    $('iframe').each(function() {
    var src = $(this).attr('src');
    if(src.match(/youtube\.com/i) || src.match(/video\.mno\.hu/i)) {
    reloadBlocker = true;
    }
    });

    if(!reloadBlocker) {
    document.location.assign(document.location.href);
    }
    }, reloadTime);

    (fúj)
    Ezek szerint ha saját extensionből csak beágyaz egy elrejtett YouTube-os iframe-et (lényeg, hogy az src attribútum a youtube-ra mutasson, nyilván az egész oldalt nem érdemes beágyazni :D), akkor a reloadBlocker változó értéke true lesz, és a document.location.assign(document.location.href); sor nem fog lefutni. :D Borzasztó ronda megoldás mindenképp, de legalább nem fog 20 perc múlva (most ez van a reloadTime-ban) újrafrissülni az oldal...

    Akkor íme egy Chrome/Opera extension kettőtök kutatása alapján egy kicsit kulturáltabb injektálási módszerrel.

    manifest.json
    {
    "content_scripts":
    [
    {
    "matches": [ "http://mno.hu/*", "https://mno.hu/*" ],
    "js": [ "content.js" ],
    "run_at": "document_start"
    }
    ],
    "web_accessible_resources":
    [
    "patch.js"
    ],

    "manifest_version": 2,
    "name": "setTimeout patch",
    "version": "1.0.0"
    }

    patch.js
    Window.prototype._setTimeout = Window.prototype.setTimeout;

    Window.prototype.setTimeout = function(func, delay) {
    if (func.toString().indexOf("reloadBlocker") !== -1)
    console.log('blocked setInterval', delay);
    else
    Window.prototype._setTimeout.apply(this, arguments);
    };

    content.js
    try {
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.responseText) {
    var patch = document.createElement("script");
    patch.type = "text/javascript";
    patch.innerText = xhr.responseText;
    (document.head || document.documentElement).appendChild(patch);
    }
    };

    xhr.open("GET", chrome.extension.getURL("patch.js"), true);
    xhr.send(null);
    }
    catch (ex) {
    console.log(ex);
    }

    Vagy Firefox alá Greasemonkey scriptként:

    // ==UserScript==
    // @name setTimeout patch
    // @namespace mno.hu
    // @include http://mno.hu/*
    // @include https://mno.hu/*
    // @version 1
    // @run-at document-start
    // @grant none
    // ==/UserScript==

    window._setTimeout = window.setTimeout;

    window.setTimeout = function(func, delay) {
    if (func.toString().indexOf("reloadBlocker") !== -1)
    console.log('blocked setInterval', delay);
    else
    window._setTimeout.apply(window, arguments);
    };

    Érdekes módon itt csak a window példányt tudtam manipulálni, és abban lecserélni a metódust, magát a Window osztályt nem, hogy a prototípusban cserélgessek.

    Természetesen nem vártam ki a 20 percet, a naplóba írt üzenettel teszteltem a kódot.

  • cocka
    veterán

    Szép találat, türelmes voltál. :D Végül is ez esetben meg lehetne tenni, hogy a fájtl letölti, átírja ennek megfelelően, és az adott kérésre ezt az új tartalmat szolgálja ki saját extensionnel, DE ennek igen komoly hátránya, hogy "bedrótozza" a korábbi kódot, és a fájl frissülése nála nem lesz érvényes.
    Azt nézem, hogy van egy ilyen rész a kódban:

    setTimeout(function() {
    $('iframe').each(function() {
    var src = $(this).attr('src');
    if(src.match(/youtube\.com/i) || src.match(/video\.mno\.hu/i)) {
    reloadBlocker = true;
    }
    });

    if(!reloadBlocker) {
    document.location.assign(document.location.href);
    }
    }, reloadTime);

    (fúj)
    Ezek szerint ha saját extensionből csak beágyaz egy elrejtett YouTube-os iframe-et (lényeg, hogy az src attribútum a youtube-ra mutasson, nyilván az egész oldalt nem érdemes beágyazni :D), akkor a reloadBlocker változó értéke true lesz, és a document.location.assign(document.location.href); sor nem fog lefutni. :D Borzasztó ronda megoldás mindenképp, de legalább nem fog 20 perc múlva (most ez van a reloadTime-ban) újrafrissülni az oldal...

    Jajj de ez már ilyen jquerys borzalom, amiből még annyit se értek. :D Igazából nem azért nem értem, mert nem tudnám megérteni, hanem mert nem ismerem a függvényeket.

  • Karma
    félisten

    Szép találat, türelmes voltál. :D Végül is ez esetben meg lehetne tenni, hogy a fájtl letölti, átírja ennek megfelelően, és az adott kérésre ezt az új tartalmat szolgálja ki saját extensionnel, DE ennek igen komoly hátránya, hogy "bedrótozza" a korábbi kódot, és a fájl frissülése nála nem lesz érvényes.
    Azt nézem, hogy van egy ilyen rész a kódban:

    setTimeout(function() {
    $('iframe').each(function() {
    var src = $(this).attr('src');
    if(src.match(/youtube\.com/i) || src.match(/video\.mno\.hu/i)) {
    reloadBlocker = true;
    }
    });

    if(!reloadBlocker) {
    document.location.assign(document.location.href);
    }
    }, reloadTime);

    (fúj)
    Ezek szerint ha saját extensionből csak beágyaz egy elrejtett YouTube-os iframe-et (lényeg, hogy az src attribútum a youtube-ra mutasson, nyilván az egész oldalt nem érdemes beágyazni :D), akkor a reloadBlocker változó értéke true lesz, és a document.location.assign(document.location.href); sor nem fog lefutni. :D Borzasztó ronda megoldás mindenképp, de legalább nem fog 20 perc múlva (most ez van a reloadTime-ban) újrafrissülni az oldal...

    Találtam egy rövidebb verziót.
    Ez a blokk átverhető a window.history.pushState-tel:

    if(document.location.href.match(/hirtv_kesleltetett/i) || document.location.href.match(/hirtv_live/i)) {
    reloadBlocker = true;
    }

    Például így: window.history.pushState({}, null, "hirtv_live").

    Egy kicsit fejre áll tőle a böngésző, de a feltétel biztosan igaz lesz tőle :D

  • Sk8erPeter
    nagyúr

    Nincs. Egyébként se mennél vele semmire.

    De egyébként megnyitottam az oldalt és elsőre megtaláltam a tűt: a grid_site.js-ben a 811. sortól kezdődik az automatikus frissítés. A 839. sor az, ami ténylegesen újratölti az oldalt. Ha a reloadBlocker változót rá tudod venni, hogy true értéke legyen; vagy a korábban leírt módon a document.location.assign-t felülvágod egy üres függvénnyel, akkor nem fog tudni frissülni, elvileg.

    Szerk.: Úgy látom SO-n, hogy a document.location.assign nem felülvágható :( Na mindegy, ott kell varázsolni valamit, az a biztos. Vagy letiltani az oldalon a JavaScriptet.

    Szép találat, türelmes voltál. :D Végül is ez esetben meg lehetne tenni, hogy a fájtl letölti, átírja ennek megfelelően, és az adott kérésre ezt az új tartalmat szolgálja ki saját extensionnel, DE ennek igen komoly hátránya, hogy "bedrótozza" a korábbi kódot, és a fájl frissülése nála nem lesz érvényes.
    Azt nézem, hogy van egy ilyen rész a kódban:

    setTimeout(function() {
    $('iframe').each(function() {
    var src = $(this).attr('src');
    if(src.match(/youtube\.com/i) || src.match(/video\.mno\.hu/i)) {
    reloadBlocker = true;
    }
    });

    if(!reloadBlocker) {
    document.location.assign(document.location.href);
    }
    }, reloadTime);

    (fúj)
    Ezek szerint ha saját extensionből csak beágyaz egy elrejtett YouTube-os iframe-et (lényeg, hogy az src attribútum a youtube-ra mutasson, nyilván az egész oldalt nem érdemes beágyazni :D), akkor a reloadBlocker változó értéke true lesz, és a document.location.assign(document.location.href); sor nem fog lefutni. :D Borzasztó ronda megoldás mindenképp, de legalább nem fog 20 perc múlva (most ez van a reloadTime-ban) újrafrissülni az oldal...

  • Karma
    félisten

    Amúgy az F12-es debugger cuccok közt nincs olyan, ami mutatja hogy egy számlálóból mennyi van vissza? (egyébként Firefoxot használok)

    Nincs. Egyébként se mennél vele semmire.

    De egyébként megnyitottam az oldalt és elsőre megtaláltam a tűt: a grid_site.js-ben a 811. sortól kezdődik az automatikus frissítés. A 839. sor az, ami ténylegesen újratölti az oldalt. Ha a reloadBlocker változót rá tudod venni, hogy true értéke legyen; vagy a korábban leírt módon a document.location.assign-t felülvágod egy üres függvénnyel, akkor nem fog tudni frissülni, elvileg.

    Szerk.: Úgy látom SO-n, hogy a document.location.assign nem felülvágható :( Na mindegy, ott kell varázsolni valamit, az a biztos. Vagy letiltani az oldalon a JavaScriptet.

  • cocka
    veterán

    Az ok, de melyikben van window.location vagy nem is tudom hogy frissítik újra az oldalukat. Eléggé tűt a szénakazalban érzem a keresésedet.

    Amúgy az F12-es debugger cuccok közt nincs olyan, ami mutatja hogy egy számlálóból mennyi van vissza? (egyébként Firefoxot használok)

  • martonx
    veterán

    Ezt már megtettem, csak az a baj, hogy annyi van, mint a nyüves. Van vagy 15 js fájl és szinte majdnem mindben van ilyen időzítő függvény.

    Az ok, de melyikben van window.location vagy nem is tudom hogy frissítik újra az oldalukat. Eléggé tűt a szénakazalban érzem a keresésedet.

  • cocka
    veterán

    Uhh, ezt én is de tudom utálni, régen ilyet a prog.hu is csinált, hogy automatikusan frissült a lap, de nem csak frissült, át is irányított, így hiába volt későbbi olvasásra félretéve pár cikk, ránéztem egy idő múlva, és már csak a címlapot láttam. Gratula annak, aki kitalálta... :DDD Írtam is nekik levelet ezzel kapcsolatban, hogy emiatt szoktam le a cikkjeik olvasásáról, hogy azóta is van-e ez a jelenség, fogalmam sincs, mert tényleg nem olvasom őket. :D
    A kérdésre amúgy most érdemben nincs időm reagálni, de látom, kaptál már ötletet, csak hát JS-hez értés nélkül nehéz lesz ezekkel bármit is kezdeni... Amivel hozzákezdhetnél, az az, hogy megnyitod a webfejlesztő panelt, és az ottani keresővel minden, oldalról letöltött forrásban elkezded keresgélni (Blink-alapú böngészőkben (pl. Chrome, Opera) a Ctrl+Shift+F segítségével!) az említett "setInterval" és "setTimeout" szavakat.

    Ezt már megtettem, csak az a baj, hogy annyi van, mint a nyüves. Van vagy 15 js fájl és szinte majdnem mindben van ilyen időzítő függvény.

Új hozzászólás Aktív témák

Hirdetés