- Apple iPhone 16 Pro - rutinvizsga
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Samsung Galaxy A55 - új év, régi stratégia
- Samsung Galaxy A56 - megbízható középszerűség
- A lapkakészlet és az akku különbözteti meg a Motorola Edge 60 és Edge 60 Pro-t
- Google Pixel topik
- Nem lett arányos a fogyókúra
- Csíkszélességben verné az Exynos 2600 a Snapdragon 8 Elite 2-t
-
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
válasz
Sk8erPeter #3985 üzenetére
"De az Androiddal kapcsolatos részt nem értettem, hogy mire érted."
Arra értem, hogy androidos fejlesztéshez túl nehezek azok a libraryk, amiket Java SE/EE alatt használnék, vagy éppen a frameworkből hiányoznak olyan csomagok, amiket aktívan használnának.
Illetve van olyan Android-specifikus megoldás, ami meg lábbalhajtós: kézzel írod meg minden egyes a requestet és SOAPObject tömbökön iterálgatsz a válasz összegyűjtéséhez...
Aztán a végén már ott állsz, hogy kézzel formázod össze az envelope-ot és kézzel parsolod ki az XML-ből az anyagot, és jobban jársz... Pedig ezt nagyon rühellem.
-
Karma
félisten
Ha önszivatáson kívül tényleg látni akarsz ilyet, akkor javaslom Java alatt a CXF-et, .NET-nél meg a WCF-et. A valóságban úgyis ehhez hasonló szintű eszközök vannak a SOAP mögött - és még csak nem is nehéz használni őket alapszinten.
Illetve a magyar intraneteken előfordul az Axis 1.4 még mindig, pedig az általa használt kódolást már semmi se támogatja... Az külön élmény önmagában is.
-
Karma
félisten
Sikerült összehoznom félig-meddig.
Ezzel az online WSDL generátorral csináltam a WSDL-t, értelemszerűen kitöltve a mezőket egy Hello World operationhöz. [WSDL].
Aztán így implementáltam a szervert hozzá:
var soap = require('soap');
var http = require('http');
var helloService = {
helloworld: {
helloworld_0: {
hello: function(args) {
return {
message: 'Hello ' + (args.name || 'World') + '!'
}
}
}
}
}
var wsdl = require('fs').readFileSync('hello.wsdl', 'utf8'),
server = http.createServer(function (req, resp) { resp.end("404 Not found: " + req.url) });
server.listen(8001);
soap.listen(server, '/helloService', helloService, wsdl);És erre SoapUI-ban rá tudtam csatlakozni, és még helyesen is működött
.NET-ben viszont nincs ekkora szerencsém, ott ProtocolExceptionnel elszáll. A SoapUI mock service-ével, amit ugyanebből a WSDL-ből generáltam, simán működik viszont.
---
Nekem nagyon az az érzésem, mint Android kapcsán is, hogy a SOAP egy régi idők letűnt megoldása, amit a mostani eszközökkel már nem kéne erőltetni. Akkor már egyszerűbb egy .NET/Java frontendet elérakni, ami JSON-re fordít mindent...
-
Karma
félisten
Meg utána toszik működni, se VS2013-ból, se SoapUI-ból nem tudok ráhívni. Mondjuk 0.1.0, amit egyszer valaki kinyomott és azóta nem nyúlt hozzá...
Szerintem meg ez a szerver modul sose fog működni. Viszont ha meg tudod írni a WSDL-ed, a node-soap már bíztatóbbnak tűnik - legalábbis a kommentek alapján...
-
Karma
félisten
Akkor valamit nagyon rosszul tartasz, mert én lemásoltam a példakódot kis módosításokkal, és létre is jött a service meg a WSDL is.
C:\Users\Zsolt\Documents\soaptest>node
> var soap = require('soap-server');
undefined
> function test() {
... test.prototype.hello = function(name) {
..... return "Hello" + (name || "World") + "!";
..... }
... }
undefined
> var server = new soap.SoapServer();
undefined
> var service = server.addService('helloService', new test());
undefined
> server.listen(1337, '127.0.0.1');
undefinedEzután a http://127.0.0.1:1337/helloService?wsdl linken bejött a WSDL (kimásoltam).
-
Karma
félisten
válasz
szabo.norbi #3958 üzenetére
JavaScript nyelven kellene? Vagy valami másban?
Ugyanis ha nem JS, akkor nem tényleg nem ide való...A programozás topik összefoglalóján keresztül megtalálod a többi topikot, a megfelelőbe tedd fel inkább a kérdést.
-
Karma
félisten
"- a this mindig a hívó objektumra utal. Ebben az esetben amire a focusout-ot meghívtuk. Mire hívtuk? $('input')-ra ami egy olyan objektum ami az oldal összes input mezejét tartalmazza."
Ez nettó marhaság, az eseménykezelő függvényekben mindig az az egy elem a this, aki az eseményt generálta. Tehát semmi szükség ID-t adni a bemeneti mezőnek! Sőt!
Itt van máshogy megjavítva a kód. Mint látható, csak két gond volt a kóddal: az aposztrófok a this körül, és hogy nem az input mező értékét próbálta lengthtel ellenőrizni. Bátorkodtam sokszorosítani az input mezőket, hogy demonstráljam az álláspontomat.
-
Karma
félisten
válasz
kivulallo #3889 üzenetére
Hogy egy kicsit konkretizáljuk, a leggyorsabb mód arra amit szeretnél az, hogy:
1) A táblázatot legeneráló PHP kódszakaszt szervezd ki egy külön fájlba (pl. table.php), amit az eredeti oldalon beinclude-olsz.
2) Az eredeti oldalba dobd be a jQuery-t vagy a Zepto.js-t, és írj bele három sornyi JavaScriptet – a magja kb. ez:setInterval(function() {
$('#table').load('table.php');
}, 5000);És kész.
Ennyiért persze soknak tűnhet egy fullos lib, de így a leggyorsabb megoldani
-
Karma
félisten
Én személy szerint üdvözlöm, hogy felvállaltad az oldal linkjét, mert így élőben is látható. Nem egy JSFiddle, mert kísérletezni nehezebb, de azért jobb mint képről és irreleváns részletekből dolgozni.
Próbáld meg azt, hogy ezt a javascriptes fost kiirtod, aztán kiegészíted a CSS-t azzal, hogy az oszlopok (mr10 class talán?) display: table-cell;, az őket befoglaló div pedig display: table; attribútumokat kapjanak. Az ötlet forrása itt, harmadik változat.
Másrészt, ha ezt az oldalt kézzel írod, akkor igazán adhatnál a dolgoknál rendes classokat, ID-ket, meg úgy alapból lehetne sokkal egyszerűbb ez a spagetti helyett...
-
Karma
félisten
válasz
trisztan94 #3838 üzenetére
A getGeopositionAsync előtt kiraksz egy feliratot, a callbackben meg leveszed, és kész is a chocapic
-
Karma
félisten
válasz
SirRasor #3744 üzenetére
Vanilla JS-ben az onreadystatechangedhez berakni egy callback függvényt se nagy varázslat, de a legtöbb JS framework ad valami kulturáltabb még tisztább megoldást.
Én személy szerint deferred/promise párti vagyok, de a böngésző JS motorjának befagyasztásánál tényleg minden lehetőség jobb.
-
Karma
félisten
válasz
Teasüti #3727 üzenetére
Ha már úgyis redundáns amit írtam, hadd egészítsem ki azzal, hogy a slice(0, -1) tisztább, szárazabb, biztonságosabb; de elsősorban jobban olvasható függvény ugyanerre a célra.
-
Karma
félisten
válasz
Teasüti #3723 üzenetére
Hát, az biztos probléma, hogy a példakódodban a lengthedik karaktert akarod kivenni a stringből, csakhát közben a betűket a JavaScript (hasonlóan egy csomó más nyelvhez) 0-tól length-1-ig indexeli.
Másrészt nem kell a Number konstruktor, mert a length mindig szám.
Lassú voltam -
Karma
félisten
válasz
Sk8erPeter #3722 üzenetére
Én meg a Sublime Textet nem ismerem.
A Bracketsben két elég jó feature-t használok intenzíven: a Chrome-mal összekötött live preview (minden módosítás a HTML/CSS-ben azonnal látszik, és amin éppen állok a szerkesztőben highligholódik a böngészőben), meg az intgrált JSLint. Meg a JS autocomplete is elég jó.
Teasüti: Azonnal.
-
Karma
félisten
válasz
Sk8erPeter #3715 üzenetére
Dobj be egy Sn*ckerst, ha éhes vagy teljesen kifordulsz magadból...
-
Karma
félisten
válasz
Teasüti #3709 üzenetére
Ez a kódrészlet feltételezi, hogy a fájl amit le akar tölteni a következőt tartalmazza:
<title>&&<</title>
Egyébként nem mérvadó. Hasonlóan kéne benne reszelni mint egy XML-ben, legalábbis elvileg - én még sose próbáltam ilyet korábban.
A this meg az XMLHttpRequest objektum.
-
Karma
félisten
válasz
Teasüti #3701 üzenetére
Remélem a tényleges kódban indentálsz, és csak a fórummotor miatt ilyen olvashatatlan... Emiatt (is) egy kicsit nehéz megítélni, hogy nem-e futsz túl hosszú köröket a probléma körül spirálban.
Például a kettővel ezelőtti kérdésnél nem értettem, hogy miért használsz push-t a tömbre - JavaScriptben a [] operátorral akármilyen indexnek tudsz értéket adni, nem kell kézzel növelgetni.
Meg amúgy az alapprobléma is olyan, hogy lehetnek rá kész algoritmusok. Maga a stringtávolság témakörben ott a Levenshtein távolság, bár telefonszámokhoz lehet overkill. Mondjuk regexelni is szinte biztosan (bár nem látom tisztán hogy hol jön a képbe).
-
Karma
félisten
válasz
Teasüti #3685 üzenetére
Márpedig valamit biztosan rosszul számolsz. Írtam egy fiddle-t, kipróbáltam több időzónára állítva a gépemet (persze mindig újraindítva a Chrome-ot), és a timestamp mindig ugyanazt az eredményt adja vissza. A timezoneOffset változik - ami egyébként a mi időzónánkban negatív, azaz adja magát, hogy kivonni kell a mi zónánk idejéhez.
Az epoch idő konverziót meg itt ellenőriztem. És nekem végig jók lettek a számok.
Namost a Google Timezone API-t nem ismerem, arról nem tudok nyilatkozni, de megvizslatom mindjárt
-
Karma
félisten
Bocs a spamért, nem tudtam visszaaludni
Átírtam a fiddle-t vanilla XHR-re, így biztos nem téveszt meg a jQuery
És közben azt néztem, hogy az MDN-en nagyon részletesen kitárgyalják az XHR-t és utána az XML feldolgozást is.
Az XPath teljesen kiment a fejemből, de az is egy sokkal kompaktabb alternatíva arra, amit szeretnél
-
Karma
félisten
Nekem megy a láncolás.
-
Karma
félisten
válasz
Teasüti #3668 üzenetére
Nem jó a nodeValue, mert a koordináta nem az lng element értéke, hanem van neki egy text node gyereke. Ha az lng-ig eljutottál, használd a textContent mezőt, és nem kell kibogarásznod ezt a szintet.
Egyszerűen egyébként sok getElementsByTagName hívással tudod pontosan megkeresni azt aki neked kell (így elkerülöd azt, hogy ha nincs whitespace a válaszban, összetörik a parsered) - de igazából sokkal jobb lenne áttérni a JSON formátumra. Most már sejtheted, hogy miért.
(Összehasonlításképp: res.results[0].geomerty.location.lng a JSON objektumból kivenni ugyanezt.)
Egyébként itt egy fiddle amivel ezt kísérleteztem. Egyszerűbb mint telefonon
-
Karma
félisten
válasz
Teasüti #3666 üzenetére
Ha böngészőben lennél, akkor azt mondanám, hogy a szinkron viselkedés semmilyen körülmény mellett nem elfogadható és szervezd át úgy, hogy az egyes hívásokat lekezelő függvényeket kezelő onreadystatechange függvényeket előre definiáld.
Ha használnál külső libeket, akkor meg a Promise objektumok felé terelnélek.
Viszont így Taskerben nem olyan kritikus a helyzet.
---
Változós téma.
A változó deklarálás, amit a var kulcsszóval jelzel, és az objektumlétrehozás, amit csinálhatsz a new kulcsszóval, illetve primitív típusoknál a literálokkal meg regexnél a / jelekkel, két egymástól teljesen független dolog.
A deklarálás különböző formáiról, hogy akkor hol tárolódnak az értékek, és hogy hat rájuk a delete operátor pont tegnap olvastam egy nagyon jó cikket.
-
Karma
félisten
válasz
Teasüti #3653 üzenetére
Hát a splitet nagyon gyorsan felejtsd el erre a célra! Amellett hogy ocsmány, nagyon hamar karbantarthatatlanná válik.
Természetesen van jobb megoldás, a responseXML-lel pont, ahogy írtad. Ha well-formed XML jön le, elvileg semmi dolgod nincs, csak ezt használni a text helyett. Példát láss itt.
-
Karma
félisten
Megőrzi az, csak a kódod többi része szerintem már rég lefutott, mire a válasz megérkezik és beállítódik. Úgy kellene megírnod a programot (legegyszerűbb nem-halálfejes esetben - én legalábbis tuti megbuktatnám azt, aki a szinkron hívást használja -), hogy azokat a részeket, amik a gep jövőbeli értékét használják, egy külön függvénybe szervezed, amit a callbackből hívsz meg. Azaz kvázi félbevágod a programod futását, amíg meg nem jön a válasz.
Egyébként jQuery-ben pont ugyanezt teszed, csak van egy előre meghatározott promise forma a jövőbeli eseményekhez.
-
Karma
félisten
Az ajaxRequest elküldése egy aszinkron művelet (lásd az AJAX rövidítés első betűjét
), így ha közvetlenül az elindítás után alertelsz, nyilván nulla lesz.
Tedd az alertet a "gep = ajaxRequest.responseText;" sor után a callback függvénybe, és instant boldogság. Legalábbis már meglesz az esélye.
-
Karma
félisten
google://jquery+rotate első találatok között ez elég szimpatikusnak tűnik. Gyakorlatilag megcsinálja helyetted azt a pár sor CSS-t, amit kézzel is megírhatnál
-
Karma
félisten
válasz
Sk8erPeter #3490 üzenetére
Callbackek passzolgatása helyett mostanában nekem a promise paradigma nagyon bejön. A when.js elég szimpi mint JavaScriptes implementáció.
-
Karma
félisten
Sorvégek. Az egyik szerver valószínűleg Linux-alapú, a másik Windows; ugyanis a data.js a rossz esetben úgy néz ki, mintha a lényegi rész ki lenne kommentezve. (Chrome -> pretty print). Alakítsd át egységessé őket, sőt még jobb, ha a kommenteket //-ről /* */-re cseréled.
A context menü letiltásáért meg kőbalta.
-
Karma
félisten
válasz
Sk8erPeter #3304 üzenetére
A jQuery pluginról jut eszembe
-
Karma
félisten
Hogyhogy nem kezeli le? A második utasítás meg se fog hívódni, mert az exceptiontől kiszáll abból a belső blokkból. Ez a dolgok természetes rendje, a második függvényhívásig nem jut el a program se try blokkban, se anélkül, ha kivételt dob az első.
A szóhasználat miatt nem jön át mit szeretnél, de azért próbálok valamit írni.
Ha mindkettő elszállhat és mindkét hibát le akarod nyelni, akkor két try blokkot írsz egymás után.
try {
valami1();
} catch (ex) {
// kiirod, megeszed, egyremegy
}
try {
valami2();
} catch (ex) {
}De ha mondjuk a második nem szállhat el, és meg akarod hívni az első hívás sikerességétől függetlenül, még akkor is ha továbbdobod a kivételt, akkor ott a finally.
try {
valami1();
} catch (ex) {
// kiirod, megeszed, egyremegy
// vagy tovabbdobod a "throw ex;" sorral
} finally {
valami2();
}Két try blokkot egymásba ágyazni tényleg nem szerencsés, mert amellett hogy egyre mélyebben kell indentálni, nem annyira szembetűnő hogy hiba esetén mi is történik.
Mondjuk ha ezek a te függvényeid, akkor akár megírhatnád őket úgy, hogy csak akkor dobjanak kivételt, amikor ténylegesen valami nagy hiba történik, nem pedig a kivételek köré szervezed a logikát (klasszikus antipattern). A boolean visszatérési értékű függvények pl. jók erre.
-
Karma
félisten
A JavaScript egy programozási nyelv, így természetesen nyelvi elemként nem tud ilyet, mint ahogy a többi sem
. Mindig a framework biztosít ilyeneket.
Ennek fényében a böngészőben futó JS környezet, a Node.JS és a Windows 8-as WinJS három külön kérdés. Az utóbbi kettőnél vannak alapvető dolgok, a böngészőben meg a W3 File/FileReader API.
-
Karma
félisten
válasz
Sk8erPeter #3176 üzenetére
Nem egészen. Volt később egy olyan is, ahol piros-zöld-kék négyzetek fade-elnek egymásba. Megnézem, hátha rajta van a dashboardomon. Köszi amúgy hogy rákerestél
Szerk.: Sajnos nincs meg.
-
Karma
félisten
válasz
Sk8erPeter #3103 üzenetére
SO helyett köpönyeg (haha): Understanding JavaScript OOP
-
Karma
félisten
Ehöm, miért az almától függ, hogy a mouseentert hozzáfűzöd-e vagy sem? Csakmert ha ez a kódrészlet kétszer meghívódik, akkor kétszer lesz odafűzve a handler... Ezt egyébként egy breakpointtal seperc alatt ellenőrizheted.
Nem biztos hogy ez a hiba, csak bűzlik - elég gyakori hiba hogy egy kifordított feltétel miatt nem egészen az történik, mint amit szeretnél. Event handlert csak egyszer, tisztán elkülönítve regisztrálj.
-
Karma
félisten
válasz
Sk8erPeter #3040 üzenetére
Hát csak arra az esetre gondoltam, hogy eljut a projekt arra a komplexitási szintre, hogy ezt a ciklust még egyszer le kell futtatni, mert mondjuk beAJAXol két tucat entitást a meglévőkhöz.
-
Karma
félisten
válasz
Sk8erPeter #3036 üzenetére
Nyilvánvaló, hogy a helyes megoldás nem ez, hanem sokkal magasabb szinten újratervezni az egészet, de a gyakorlás kedvéért gondoltam megválaszolom a konkrét kérdést
Sajnos nem csak magyar és nem csak kis cégek jellemzője a sok pénzért hullámzó (nem ritkán hulladék) minőség. Ha ennyire meglepő, megkérdezhetem (akár privátban), hogy hol dolgozol? Egyébként egy dolog, hogy mennyi nulla van a végén, ennél durvább a költség.
Muton, a probléma általános megoldása szerintem arra alapul, hogy meg tudod-e állapítani az adott elemhez tartozó következő elemet. Akkor nincs szükség ilyen statikus behuzalozásra, mint amit a binddal csináltam, sokat egyszerűsödne az egész click eseménykezelő. Sőt, akkor már az on() függvényt is be lehetne vetni.
-
Karma
félisten
Amikor a HTML kódban írod a div ID-jét, ne tegyél oda #-ot.
És tényleg találj ki valami értelmesebb elnevezést ezeknél pls.
-
Karma
félisten
válasz
Benceee14 #2982 üzenetére
Nem nézegetni szeretném a munkásságod, hanem konkrétan megnézni hogy mi a baj a szkriptfuttatással a környezetedben
Ezt pedig úgy lehet, hogy a teljes HTML oldalt, amivel most próbálkozol, benyomod pastebinre és ide linkeled.
Itt a piros algoritmus...
Van egy darabszámod, mondjuk három, ahány lehetséges helyre kerülhet a piros.
Ehhez nem kell for ciklus, hasraütsz N = 3.Az elrejtéshez kell egy véletlenszám 0 és N-1 között. Egy függvényhívás bármilyen nyelven.
Ha ez megvan, vársz a felhasználóra, hogy adjon egy számot. Egyenlő az előbb generált számmal? Akkor nyert. Nem? Akkor vesztett. (Vagy újra próbálkozhat, ha úgy kéri a házifeladat...)
Ennyi. Semmi bonyolult nincs benne, konkrétan JavaScriptben is csak az bonyolítja el, hogy hogyan jeleníted meg az egészet.
-
Karma
félisten
Nem egészen, ha ezt tenné, szerintem az összes callback hívásnál a path az utolsó név lenne.
Itt egy példa, ahogy próbáltam rekonstruálni a dolgot a WinJS alapján -
Karma
félisten
válasz
Sk8erPeter #2953 üzenetére
Mert meglepően nem mondtál semmit, pedig szoktál folyton
És személy szerint érdekelt is a véleményed.Ez a menet közben frissített adatbázis kisebb módosításnak tűnik tényleg
-
Karma
félisten
A konkrét PHP megvalósítástól függetlenül ez egy olyan pont, ahol előnyös lehetne a megjelenítés és a folyamatod szétválasztása. Tehát egy AJAX hívással elindítasz valamit, aztán setIntervallal pollozod egy másik AJAX-szal, amíg véget nem ér. A dolog lényege az, hogy ezek a hívások ne HTML fragmentet adjanak vissza, hanem valami egyszerűbb JSON objektumot (benne a request azonosítójával és a státusszal), és ez alapján crissíted a UI-t, JS kódból.
Ezzel a döntéssel gyakorlatilag egy REST webservice-re és egy JS kliensre bontanád a problémát. Ha egyszer a jövőben mobilalkalmazást akarnál írni, ez felbecsülhetetlen értékű beruházás. De ha nem, a módosításokat is jobban lehetővé tenné.
-
Karma
félisten
válasz
[pod]Diablo #2934 üzenetére
JSFiddle-ön példát összerakni légy szíves, vagy legalább megmagyarázni, hogy milyen navigációs gombokról van szó...
Addig is egy megjegyzés: nem fog kiakadást okozni, de az addClass, removeClass függvényeknek nincs második paramétere.
-
Karma
félisten
-
Karma
félisten
válasz
SureStudio #2866 üzenetére
JS-ben könnyebb, igen, de a nagy igazság az, hogy semmiben se bízhatsz, amivel kapcsolatba lép a felhasználód vagy a külvilág.
v2izzy:
Egyben ez az underscore.js nagyon komoly cuccnak tűnik algoritmizáláshoz. -
Karma
félisten
válasz
SureStudio #2863 üzenetére
Megcsinálhatod Javascriptben, de akkor annyit is ér - kliensoldalon könnyen átírja az ember az ellenőrzést és már meg is van a hivatkozás. Vagy ha egyszerűbben tárolod, akkor simán kimásolja (lásd imageshack pl.).
Kicsivel biztonságosabb, ha a valódi linket a szerveroldalad utólag küldi el, feltéve, hogy a jelszó helyes volt. Akkor nem úszod meg a PHP-t (vagy éppen miben írogatsz).
-
Karma
félisten
Egy kicsit alaposabban belegondolva azért nem fenékig tejfel egyik megoldás se. Az utóbbi megoldásnál a kulcsok stringgé konvertálódnak, így elveszted a sorrendezési lehetőséget közöttük. Valamint az extend viselkedése se felülbírálható, a jobbról jövő objektum az erősebbik kutya folyamatosan.
Csak nem úszható meg az algoritmizálás.
De ha nem muszáj ne írj for ciklusok tengerét. -
Karma
félisten
válasz
Sk8erPeter #2855 üzenetére
Feltehetően ez csak egy elburjánzott példakód, a valóságban meg két forrásból érkező tömböket akar mergelni
Legalábbis reménykedem.
Muton: Magára a kérdésre visszatérve: se az extend nem jó erre (mivel tömbjeid vannak), se a merge (mert az csak összefűz két tömböt, semmi egyéb logika).
Adja magát, hogy asszociatív tömböket (az index az id) vagy objektumokat (kulcs az id) használj... Az utóbbi az extend logika miatt még praktikusabb lenne. A mostani struktúráddal folyamatosan iterálni kéne a tömbön, ami tök felesleges.
-
Karma
félisten
Ezzel a frameworkkel ma találkoztam, ajánlom mindenkinek!
-
Karma
félisten
válasz
Sk8erPeter #2846 üzenetére
A mellékelt példa konkrétan azt mutatja, hogy a $.styled('.foo').set('color: #CCC;'); pár nagyságrenddel gyorsabb, mint a $('.foo').css('color', '#CCC'). A styled kimenete nem element wrapper, másra nem nagyon lehet felhasználni
-
Karma
félisten
válasz
sztanozs #2835 üzenetére
A Facebook pl. teljes egészében HTTPS fölött megy, meg minden Google oldal is
És nem úgy néz ki, mintha összeszakadnának.
(#2836) Sk8erPeter: Ja szerintem is.
Egyébként nem tudok semmit a teljesítményéről. Az biztos, hogy a CSS betöltődések relayoutot hoznak magukkal - ezért is van az ősi mondás a <head>-be rakásról, de azt meg kéne nézni mi történik a jQuery-s és az alternatív módosításoknál.
Most sajnos van fontosabb dolgom (csak még települ a VS és az egyéb darabok), pedig szívesen játszanék egy kicsit ezzel.
-
Karma
félisten
válasz
Sk8erPeter #2833 üzenetére
Oké.
Mondjuk az URL-t belülről át lehet írni, hogy a felhasználó betöltés után csak a szép formát lássa (vagy legalábbis nagyon hasonló viselkedést szoktam látni). Másrészt meg a legigénytelenebb oldalaktól (*hint hint*) eltekintve mindenki más már HTTPS fölött authentikál, ott meg nem látszik az URL a külső szemlélők felé.
Nem érzem annyira égető problémának, dehát ti tudjátok, elfogadom a rövid álláspontot.
-
Karma
félisten
válasz
Sk8erPeter #2830 üzenetére
Direkt kitértem arra, amikor csak simán böngészgeted a Facebookot
Nézd meg a Chrome Developer Toolsával, mit is kommunikál le az oldal a backendjével: minden kéréshez csatolja a session ID-t. Még egy hótegyszerű statikus oldal, mint a Prohardver is folyton küldi az azonosítót.
Hogy most az URL-ben van, vagy a headerekben, cookieban vagy más formában, az teljesen mindegy. Nehezen tudok elképzelni olyan szisztémát, amelyben ez az elem teljesen hiányzik. Hogy máshogy döntené el, hogy az adott kérés milyen felhasználóhoz tartozik? A HTTP állapotmentes, abban meg nem szabad bízni, hogy az adott IP cím végén ugyanaz az ember van (spoofolni elég egyszerű...).
Na jó, egyet el tudok, és a hideg ráz tőle azonnal: a usernév/passwordöt elküldeni minden kéréssel
Apropó Liferay, igen, mindig generálja ezeket. Ha nem használod a JSR-186/286-ot nagyon nem részletezném, a fő hogy mindig
Fontosszerk: Ja látom konkrétan az URL-ben passzolgatást kifogásoltad... Szerintem egyenértékűek, na
-
Karma
félisten
Mégis megtaláltam
-
Karma
félisten
válasz
Sk8erPeter #2824 üzenetére
Például a Graph API és az FQL is úgy működik, hogy paraméterként át kell adni a bejelentkezéskor kapott access tokent.
Pl. a profiloldalam adatainak lekérdezése:
https://graph.facebook.com/1669432759?method=GET&metadata=true&format=json&callback=___GraphExplorerAsyncCallback___&access_token=AAACE<kivágva>OkXfRA weboldalon ez nem ennyire látványos, amíg nem nézel rá az XHR-ekre
Itt cookieból húzza fel a session ID-t a pull requestekhez.
De hogy egy másik példát is mondjak testközelből, a Liferay is folyamatosan generál sessionID-ket minden URL-be - innen fogja tudni a portletnek átadni a megfelelő objektumokat.
---
Szerintem az URL-ben küldés önmagában még nem veszélyes, ha a session ID valami hosszú, biztonságos hash, és a szerveroldal minden hívásnál ellenőrzi. Na meg persze megfelelő érvényességi idő is tartozik hozzá.
Nem úgy, mint anno a webbankos esetnél, amikor sima szám volt a user ID és szabadon be lehetett lépni bárhova
(Több éve volt, nem hiszem hogy megtalálnám a cikket amiben olvastam.)
-
Karma
félisten
válasz
Sk8erPeter #2821 üzenetére
"Hiába erősködsz, akkor sem szokás az URL-hez hozzáfűzni a session id-t. (Pontosítok: csak ELAVULT webalkalmazásoknál volt (remélem, a múlt idő indokolt) szokás.)"
Biztos vagy ebben az állításban? Sok nagyobb szolgáltatás, mint például a Facebook, követeli meg az access tokent minden egyes kérésben. És ahogy láttam a GET paraméter is elég gyakori (főleg REST-nél).
-
Karma
félisten
válasz
Sk8erPeter #2793 üzenetére
A DOM CSS-t használja, így a CSS szabályokat módosítja a DOM-on belül, nem konkrétan az elementeket manipulálja.
Szerintem nagyon frankó gondolat
(Bár inkább classokat használnék)
Egyébként a set se feltétlen bonyolult, hiszen a rule-ok szövegét lehet szerkeszteni is. Mondjuk jó kérdés, hogy a specificitással mi lesz.
-
Karma
félisten
válasz
Sk8erPeter #2790 üzenetére
A .css() a már meglévő elemekhez ad stílust, de amik majd csak a jövőben jönnek létre, arra nem tudod ráapplikálni a stílusokat csak a .css() használatával.
.on()-nal meg ilyesmivel kéne varázsolni.
-
Karma
félisten
válasz
papa019 #2611 üzenetére
A jQuery AJAX függvényei, közöttük a jQuery.get(), a jQuery.getJSON(), esetleg a jQuery.ajax() függvények lesznek segítségedre. (Az utolsó teljesen általános, az előbbi kettő ennek egyszerűbb wrapperei.)
Az elv pont az, ahogy írod, a PHP ilyen adatot dumpol ki, ezen függvények megfelelőjével indítasz egy XHR-t a háttérben, aztán a callback függvényben azt csinálsz a behozott adattal, ami jól esik.
-
Karma
félisten
Új hozzászólás Aktív témák
Hirdetés
- MasterDeeJay: SATA to SAS adapter
- Kutya topik
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- PlayStation 5
- Linux kezdőknek
- Futás, futópályák
- Autós topik
- Apple iPhone 16 Pro - rutinvizsga
- Apple asztali gépek
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- További aktív témák...
- Gamer PC - i5 13400f, RX 6700 XT és 16gb RAM
- Szép Hp Pavilion 15-eg Kis Gamer Laptop 15,6" -45% Bivaly i7-1165G7 16/512G FHD IPS Iris Xe
- EJJ! Dell Latitude 7330 -65% "Kis Gamer" Üzleti Profi Ultrabook 13,3" i5-1245U 16/512 FHD IRIS Xe
- i5 10500/ RX6600XT/32GB DDR4/ 512GB m.2 alapú konfig/ garancia/ ingyen foxpost
- Szép Dell Latitude 7320 -60% "Kis Gamer" Üzleti Profi Ultrabook 13,3" i7-1185G7 32/512 FHD IRIS Xe
- Lenovo ThinkPad X1 Carbon G8, i7-10510U, 16GB, 1TB SSD, 4K kijelző + WWAN (ELKELT)
- Napi 700 ft tól elvihető RÉSZLETRE BANKMENTES HP 840 G11 Ultra 5
- Csere-Beszámítás! AMD Ryzen 9 9900X Processzor!
- Bomba ár! HP Elitebook 850 G3 - i7-6GEN I 16GB I 256GB SSD I RadeonI 15,6" FHD I Cam I W11 I Gari!
- ÁRGARANCIA!Épített KomPhone i3 10105F 16/32/64GB RAM RX 6600 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest