Hirdetés
-
A streamingszolgáltatások összecsomagolása lehet a következő divat
it Ezúttal a Comcast kínálná egyben a Peacock, Netflix és Apple TV+ streamingszolgáltatásokat.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Dobta a zoomkamerát az új Sony Xperia 10
ma Az Xperia 10 VI megegyező méretben, de friss dizájnnal, erősebb hardverrel és újragondolt kameraszettel mutatkozott be.
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Karma
félisten
Nem véletlenül írtam privátot, hogy kifejtem bővebben
No de (hahaha), akkor következzen egy egyszerű példa a te feladatodra. Egy plusz modul kell hozzá, a when. Ott kezdődik a dolog, hogy a requestből készíteni kell egy olyan változatot, ami callback függvény helyett egy ígérettel tér vissza.
(Az ígéret egy olyan objektum, ami majd valamikor a jövőben fog kiértékelődni, vagy sikeresen, vagy nem. Mindkét ágra fel lehet iratkozni külön, és ha láncba fűzi őket az ember, akkor úgy viselkedik, mint a rendes függvényhívások - az eredmények lépésről lépésre átpasszolódnak, a hiba meg az egészet megszakítja.)
Szóval a request függvényt be kell foglalni (ezt csinálja a requestP függvény), utána mehet a lényeg. Bátorkodtam kicsit egyszerűsíteni a kigyűjtésen, ha már van a cheerionak is map függvénye.
var when = require('when'),
cheerio = require('cheerio'),
request = require('request');
function requestP(url) {
return when.promise(function (resolve, reject) {
request(url, function (err, res, body) {
if (err) {
return reject(err);
} else if (res.statusCode !== 200) {
err = new Error("Unexpected status code: " + res.statusCode);
err.res = res;
return reject(err);
}
resolve(body);
});
});
}
requestP('https://news.ycombinator.com')
.then(function (html) {
var $ = cheerio.load(html);
return $('span.comhead').map(function (i, element) {
return $(element).prev();
});
})
.then(function (articles) {
console.log(articles);
})
.catch(console.error);“All nothings are not equal.”
-
Karma
félisten
Szoktam még egyébként betenni plusz egy modult mindenhova, az underscore-t, amivel a tömb és objektumműveletek igencsak leegyszerűsíthetőek. A példádban például kezelhetőbbé teheti az eredményeket, ha a cheerio map, vagy az eredeti megoldásod helyett csak a számodra hasznos információt gyűjtöd ki a listába.
Ennyi változtatással:
var _ = require('underscore');
...
requestP('https://news.ycombinator.com')
.then(function (html) {
var $ = cheerio.load(html);return _.map($('span.comhead'), function (element) {
var link = $(element).prev();
return { title: link.text(), url: link.attr('href') };
});
})
.then(function (articles) {
console.log(articles);
})
.catch(console.error);A kimenet sokkal barátságosabb:
[ { title: 'Greed and the Wright Brothers',
url: 'http://www.nytimes.com/2014/04/19/opinion/nocera-greed-and-the-wright-brothers.html' },
{ title: 'Reactive UIs with React and Bacon',
url: 'http://joshbassett.info/2014/reactive-uis-with-react-and-bacon/' },
{ title: 'HMRC \'plans to share tax data with private firms\'',
url: 'http://www.bbc.co.uk/news/uk-27086401' }, ...][ Szerkesztve ]
“All nothings are not equal.”
-
Zedz
addikt
Sziasztok,
Hallottam arról, hogy lehetőség van asztali alkalmazást fejleszteni HTML, CSS illetve Javascript segítségével. Ebben van aki kicsit is tapasztaltabb itt? Eddig csak SDK-kat nézegettem, de igazából nem találtam értelmes leírást a témával kapcsolatban.
-
trisztan94
őstag
Nagyon nem érdemes. Maximum, ha Win 8/RT-re akarsz, ott viszonylag jó.
Vagyis hát igazából attól függ. Ha nem natív nyelven fejlesztesz egy OS-re, akkor az lassabb lesz mindenképp (tehát windows esetén C++, C#, OSX esetén Objective C), mert van egy wrapper körülötte ami végül lefordítja arra (asszem, javítsatok ki, ha tévedek). Akkor lehet jó választás, ha Cross Platform appokat akarsz fejleszteni (lásd: adobe brackets), amit könnyű pluginezni.
De a brackets pl. pont a fent említett dolgok miatt nagyon be tud lassulni.[ Szerkesztve ]
https://heureka-kreativ.hu
-
Sk8erPeter
nagyúr
"(Az ígéret egy olyan objektum, ami majd valamikor a jövőben fog kiértékelődni, vagy sikeresen, vagy nem. Mindkét ágra fel lehet iratkozni külön, és ha láncba fűzi őket az ember, akkor úgy viselkedik, mint a rendes függvényhívások - az eredmények lépésről lépésre átpasszolódnak, a hiba meg az egészet megszakítja.)"
JavaScript Promise-témában ECMAScript 6-os feature-ök kapcsán ezt a cikket olvasgattam múltkor, és igen jó:
JavaScript Promises - There and back again
http://www.html5rocks.com/en/tutorials/es6/promises/Sk8erPeter
-
Zedz
addikt
válasz Sk8erPeter #4107 üzenetére
Fősulin van egy beadandó feladatom, és első körben egy weboldalt akartam írni erre a célra. Viszont találkoztam a Brackets kódszerkesztővel és kiderült, hogy ez is a webes nyelveket használva lett létrehozva. Szóval mint érdekesség lehet csinálnék valamit beadandónak, csak nem tudom például melyik SDK-t lenne érdemes használni. Olvasgatok épp most is a dolgok után, de egy kis iránymutatás jól jönne.
[ Szerkesztve ]
-
Karma
félisten
Nem csak a Brackets, hanem például a TileMill térképszerkesztő is tisztán Node.js alkalmazás. Ez utóbbi is open source, meg lehet nézni hogy mire épít.
Én egyébként a DeskShellről és a node-webkitről hallottam eddig.
(#4106) Sk8erPeter: Tényleg nagyon jó cikk, köszi
Egyébként az ECMAScript 6 terjedéséről mit lehet tudni? Azt olvastam, hogy a Node a 0.11.x-es ágon már támogatja, de stabilizálódni még nem akar... Pedig a generátorok nagyon odavernek.
Szívesen használnám már gyakorlatban például a co-t.
[ Szerkesztve ]
“All nothings are not equal.”
-
Sk8erPeter
nagyúr
"Egyébként az ECMAScript 6 terjedéséről mit lehet tudni? Azt olvastam, hogy a Node a 0.11.x-es ágon már támogatja, de stabilizálódni még nem akar... Pedig a generátorok nagyon odavernek."
Ez jó kérdés, én is csak ezt a táblázatot nézegettem:
http://kangax.github.io/es5-compat-table/es6/
pl. Promise konkrétan:
http://kangax.github.io/es5-compat-table/es6/#Promise
Egyébként túl sokat a dologról nem tudok.Sk8erPeter
-
-
Kommy
veterán
Sziasztok!
Arra valakinek van ötlete, hogy hogyan tudnám megoldani, hogy van egy php fájlom, itt kiíratok php-val adatbázisból adatokat legördülő menükben (több van) és az lenne számomra a fontos, hogy melyik legördülő menüt húztam le, ennek a választásnak az adatával mennél tovább.
pl zöldsége, gyümölcsök, húsok a három legördülő menü és ha valamelyikből kiválasztom valamelyiket akkor annak a képét rakja ki
Tehát gyümölcsből kiválasztom a körtét akkor a körte képe jelenik meg, tehát tudnom kéne melyik legördülőből melyiket választottam ki.
Ha a select-nek lenne egy fix "id"-ja akkor menne a következővel:
$("#id").change(function(){...} -
Kommy
veterán
lényeg van egy ilyen js fájlom amiben ez van:
$(document).ready(function() {
$("#track").change(function(){
var value=$(this).children('option:selected').val();
var valueid=$(this).children(':selected').attr("id");
$("#edit").load("result.php?q="+value+"&x="+valueid+"&f=1&c=0");
});
});És ami a php-ban van mint kimenet:
<select name='track' id="x">
<option id= "y" value="Érték">"Érték"</option>
</select>És a gondom az lenne, hogy míg ezt kézzel minden változásnál megcsináltam, hogy adtam neki egy fix id-t a select-nek , most ezt szeretném valahogy megoldani, hogy automatán működjön és elég legyen egy ilyen change függvény.
-
Kommy
veterán
Kicsit módosítottam, rajta, most már nem a select-nek kell az id-ja, mivel az most már egységes
És ami a php-ban van mint kimenet:
<select name='track' id="champ">
<option champ= "id" id= "y" value="Érték">"Érték"</option>
</select>Ígxy le tudom kérdezni, melyik a kiválasztott legördülő
$(document).ready(function() {
$("#track").change(function(){
var value=$(this).children('option:selected').val();
var valueid=$(this).children(':selected').attr("id");
var valuechamp=$(this).children(':selected').attr("champ");
$("#edit").load("result.php?q="+value+"&x="+valueid+"&f=1&c=0");
});
});A mostani gond viszont az, hogy csak az első legördülőnél működik, ez miért lehet, a kódot a php generálja, sql lekérdezésekből tehát minden megegyezik bennük semmi eltérés.
-
Kommy
veterán
Lehet marad az , hogy a js-be írok több sor az azonosítókkal úgyis csak számok.
De miért van az, hogy kiválasztok 1-et, betölt aminek kell, kiválasztok mondjuk ugyan abból akkor már 2 szer tölt be és ahogy nyomkodom egyre többször fut le a js-ben az adott kódrészlet.
-
martonx
veterán
Szerintem ebben nem fogunk tudni segíteni neked. Így legalábbis biztos nem. Használj jsfiddle-t, ragadd ki az érdekesebb problémákat. De egy komolatt db - php - js problémát pár soros segítségkérések alapján varázsgömb nélkül senki se fog tudni neked megoldani.
Én kérek elnézést!
-
Karma
félisten
Kód híján annyit tudok mondani, hogy valószínűleg betöltéskor .click vagy .change (v. hasonló) hívással folyamatosan újabb és újabb eseménykezelőket aggatsz szerencsétlen HTML elementekre.
Ha központilag használnád az .on-t, nem lenne ilyen baj.
“All nothings are not equal.”
-
Sk8erPeter
nagyúr
Szerintem az van, amit Karma említett, hogy az .on()-t kellene használnod, a selectek szülőelemére "aggatva", a selectekre szűrve az .on()-nak paraméterként megadott selectorral.
De amit SOHA többé ne csinálj ( mert egészségkárosító hatású), az a (#4117) azonosítójú hsz.-edben látható, és ROSSZ, NAGYON ROSSZ:
var value=$(this).children('option:selected').val(); // BORZALMAS
var valueid=$(this).children(':selected').attr("id"); // NE CSINÁLD
var valuechamp=$(this).children(':selected').attr("champ"); // ROSSZ
Tudod, hogy van, amikor egy ilyet leírsz, akkor az egy kismacska életébe kerül.Totálisan feleslegesen futtatod le újra és újra ugyanazt a metódust, ráadásul egymás alatt:
$(this).children(':selected')
--> ennek az értékét tárold el egy VÁLTOZÓBAN, arra találták ki. Ugyanarra az elemre hivatkozol.
Tehát a fentit cseréld le valahogy így:
var $self = $(this);
var $selectedElement = $self.children('option:selected')
var value=$selectedElement.val();
var valueid=$selectedElement.attr("id");
var valuechamp=$selectedElement.attr("champ");a lényeg: a többször használt elemeket tárold el változó(k)ban, ne kérd le őket újra és újra, mert erőforrás-igényes, még ha nem is veszed észre.
[ Szerkesztve ]
Sk8erPeter
-
Kommy
veterán
válasz Sk8erPeter #4121 üzenetére
Köszönöm mindenkinek a segítséget.
-
CSorBA
őstag
válasz Sk8erPeter #3908 üzenetére
Most jött el a kérdés ideje ezzel a hozzászólással kapcsolatban
Azt vettem észre, hogy click eventnél ez teljesen jól működik, viszont scroll esetében valamiért nem fut le, csak direktben pakolva. De az pedig ugye nem lesz jó a később behozott elemek esetén..
Itt a példám: [link] Mi a gond a scrollal?
[ Szerkesztve ]
-
CSorBA
őstag
Mármint gondolom azért nem fut le, mert a scroll nem bubblingol, ezt hogy tudom mégis megcsinálni?
-
martonx
veterán
Érdekes, hogy nem működik .on-nal a scroll, a click meg igen. Szvsz semmi köze ahhoz, amit feltételezel, ki kellene próbálni plain js-sel, lehet hogy ez csak valami jquery hiba. Simán működnie kellene: példád letisztítva és a lényegre koncentrálva
Én kérek elnézést!
-
Zedz
addikt
Sziasztok!
Canvassal vannak problémáim. Van ez a kódom.
És ezt a hibaüzenetet dobja: Uncaught IndexSizeError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The source width is 0.
Pedig a kép elérési útja is jó, illetve ha egy kép URL címét adom meg ami egy szerveren van, akkor sem lesz jó. Mi lehet a baja?
-
Zedz
addikt
-
Jim-Y
veterán
Aki szokta használni a Sublime-ot, az esetleg lesse meg ezt is, a héten lett elérhető.
https://github.com/atom/atom -
Sk8erPeter
nagyúr
Sk8erPeter
-
Jim-Y
veterán
válasz Sk8erPeter #4134 üzenetére
Hónapokkal ezelőtt már én is néztem, de akkor csak OSX-re lehetett feltenni...
-
martonx
veterán
Jelzem, ma este kijött a Visual Studio 2013 Update 2 is, ami a Web Essentials pluginnel kiegészülve már majdnem WebStorm magasságba emeli a VS-sel is a webfejlesztést.
Én kérek elnézést!
-
fordfairlane
veterán
válasz trisztan94 #4137 üzenetére
A win kliens az újdonság. Eddig leginkább csak OS X alá volt.
x gon' give it to ya
-
trisztan94
őstag
válasz fordfairlane #4138 üzenetére
Igen, közben leesett
Nem rossz amúgy, de nem fogom használni. Ott van nekem a Sublime meg a Brackets (mostanában inkább Sublime, sokkal gyorsabb, egyszerűbb kezelni szvsz), komolyabb melóra pedig IDE (Netbeans, Visual Studio, ha úgy adódik). Tehát igazából nem értem, hogy miért csinálták ezt, direkt kompetense akar lenni a Bracketsnek, ami már eléggé kiforrott.
https://heureka-kreativ.hu
-
Siriusb
veterán
válasz trisztan94 #4139 üzenetére
Mármint konkurenciája
-
Jim-Y
veterán
Szia. Most sikerült erre visszatérnem.
Leszedtem a példád, írtam hozzá egy klienst, de az a gond, hogy a szerverre eljut az információ
{ name: "akarmi" } , tehát az akarmi eljut a szerverig, sikerül meghívni a wsdl alapján a metódust, de kliens oldalra már nem jut vissza a válasz, ott mindig undefined-ot olvasok :/Most pont ezen vagyok, hogy ezt kijavítsam. Szerintem a wsdl-ben kéne mókolni.
-
kemkriszt98
aktív tag
Sziasztok, van egy weboldalam ahol van 4 képem (3 kicsi 1 nagy) némi js segítségével megoldottam, hogy mindíg az a kép jelenjen meg nagyba amire ráviszem az egeret ( onmouseover-el). Az én gépemen megy is de ha átmásolom más gépre vagy otthoni szerverre akkor másnak nem. Ha haza megyek kódot is de addig is nincs valami ötletetek?
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
-
Sk8erPeter
nagyúr
-
fordfairlane
veterán
válasz kemkriszt98 #4143 üzenetére
A képek elérési útja nem jól van megadva, mert mondjuk abszolut URL-ek vannak benne, a meghajtó betűjele, ami másik gépen már nem működik. Esetleg a képeket nem másoltad fel.
x gon' give it to ya
-
kemkriszt98
aktív tag
válasz fordfairlane #4145 üzenetére
Nem mert kicsibe megjelennek, csak mintha a js nem menne de mivel több gépen is kipróbáltam így nem tudom mi lehet de akkor haggyuk, 2 óra múlva jövök a kóddal .
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
-
martonx
veterán
-
-
Jim-Y
veterán
válasz kemkriszt98 #4149 üzenetére
Hú-ha, hogy te ezért mit fogsz itt kapni Nem írunk így javascript kódot!
Itt van egy alap cucc kiindulásnak, hogy hogyan kellett volna inkább:
http://jsbin.com/tusunami/1/edit?html,js,outputNincs időm utánajárni, de biztos van jobb megoldás mint a képek url-jét cserélgetni.
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs