- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Xiaomi 14 - párátlanul jó lehetne
- Bemutatkozott az Oppo kamerás csúcsmodellje
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- 185 Hz-es kijelzővel és 9000 mAh-s akkuval jöhet az új OnePlus
- Poco F8 Ultra – forrónaci
- Samsung Galaxy A56 - megbízható középszerűség
- Telekom mobilszolgáltatások
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
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
-
Doink
aktív tag
Sziasztok
Segítséget kérnék egy megosztott Excel fájl felhasználónak történő tájékoztatásra.
A következőt kellene csinálnia a programnak:
A nevek egy sorban vannak, alatta pedig azok a napok amiket nem használt még fel a szabadságaiból.
Nekem az kellene hogy például június 01-el írja ki azoknak a nevét (vagy vmi figyelmezető) akik nem használták fel a szabadságuk 70%-át.
Ezt vajon meg lehet oldani ezzel? (VBA-ban meg lenne, de az nem működik ebben a formában)
KöszönömIlyen kimutatást ugyan abban az excelben is tudsz csinálni.
Ha programot akarsz rá írni mert pl. emailben akarod értesíteni akkor választasz egy egyszerű nyelvet (pl.: python, javascript) és letöltöd vele a doksit csv-ben és szerintem ettől a ponttól nagy problémába nem fogsz ütközni. -
Doink
aktív tag
Natív js:
// 2023. január 30., hétfő
new Intl.DateTimeFormat('hu-HU', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
}).format(new Date()) -
Doink
aktív tag
Sziasztok!
Keresem a megoldást az interneten, de sajnos nem találok megfelelőt.
Adott egy kód. Az lenne a cél, hogy ha kiválasztom pl az Almát, akkor a DEMO felirat zöldre váltson. Vagy ha a Narancsot, akkor a felirat változzon.
Egy a lényeg, nem tudok nekik feltétel rendszert adni sajnos, eddig egyik próbálkozásom sem hozott eredményt.
Csinált már valaki ilyet?
Előre is köszönöm
-
Doink
aktív tag
Mert a 2. appendChild visszatérési értéke a gyerek lesz (jelen esetben a div és nem a td).
-
Doink
aktív tag
Van X db képem. A példában most legyen 1538, és ezt Y darabszámban szeretném megjeleníteni. A példában legyen ez 200.
var allpicture = 1583;
var pictureperpage = 200;
var actualpage = 1;Készítettem egy változót ami kiszámolja, hogy hány lapon fér el X kép:
var totalpage = Math.ceil(allpicture / pictureperpage);Mi az első és utolsó kép száma az N. lapon.
if (actualpage == 1) { var firstpiconpage = 1; } else {
var firstpiconpage = ((actualpage - 1) * pictureperpage) + (actualpage - 1); }
if (actualpage == 1) { var lastpiconpage = firstpiconpage + (pictureperpage-1); } else {
var lastpiconpage = firstpiconpage + pictureperpage;
}
if (firstpiconpage > allpicture) { var firstpiconpage = allpicture; }
if (lastpiconpage > allpicture) { var lastpiconpage = allpicture; }Kérdésem a szokásos. Van e valamilyen forumla, amivel egyszerűbb lehet a kód?
JSFiddle DEMOvar firstpiconpage = (actualpage - 1) * pictureperpage + 1;
var lastpiconpage = (actualpage - 1) * pictureperpage + pictureperpage;Az if-ek nem kellenek.
-
Doink
aktív tag
Eddig jutottam . Az a baj vele, hogy mindkét alert undefined-et mutat .
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>File(s) size</title><script>function sendFiles() {const imgs = document.querySelectorAll(".txt");alert(imgs[0])alert(typeof imgs.file)};</script></head><body onload="updateSize();"><p><input id="uploadInput" type="file" name="myFiles" onchange="sendFiles();"><p><input type="submit" value="Send file"></p></body></html><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>strong { color: red }</style>
<title>File(s) size</title>
<script>
function readTextFile(file) {
const reader = new FileReader();
reader.onload = (event) => {
document.getElementById('file-content').innerHTML += `<strong>${file.name} (${file.size} bytes):</strong> <pre>${event.target.result}</pre> <br><br>`;
};
reader.readAsText(file);
}
function sendFiles(elem) {
document.getElementById('file-content').innerHTML = '';
for(const file of elem.files) {
readTextFile(file);
}
};
</script>
</head>
<body>
<p><input id="uploadInput" type="file" name="myFiles" onchange="sendFiles(this);">
<p><input type="submit" value="Send file"></p>
</body>
<p id="file-content"></p>
</html> -
Doink
aktív tag
Hali.
Ugye jól gondolom, hogy ha a Javascriptben kapok az XMLHttpRequestre és Fetch-re is CORS problémát, akkor én a szerver beállítása nélkül nem tudok mit csinálni, igaz? (Utána olvasva és pár trükköt bevetve is ez jön nekem ki.)
De ez csak JS-ben fordul elő, viszont PHP, C#, Java lazán tudja fetchelni az adatot a külső api-ról, CORS nélkül, de JS esetében már jön az error.
Nem mert a CORS az böngésző feature.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin -
Doink
aktív tag
Sziasztok
Valamit elrontok és nem tudom mit

Van egy php/MySQL lekérdezésem.
Azt szeretném elérni, hogy keresés közben a Keresés gombom ne legyen elérhető (ne nyomogassa többször a user).
Amint vége a keresésnek a gomb legyen újra aktív.Találtam megoldásokat, de egyiket sem tudtam beállítani.
Ez talán a leginkább szimpatikus nekem:$(function()
{
$('#keres_btn').on('click',function()
{
$(this).val('Keresés alatt ...')
.attr('disabled','disabled');
$('#keres_form').submit();
});
});A bajom az, hogy amint beállítom, nem fut le a query. Látom, hogy a gombon van változás, de a keresés nem fut le, nem lesz semmilyen eredménye.
Mit rontok el?
Előre is köszi
<!DOCTYPE html>
<html>
<body>
<button id="btn">Click me</button>
<script>
const btn = $("#btn");
btn.on("click", () => {
btn.attr("disabled", "disabled");
$.get("/egy-szep-url")
.then((response) => {
// 200 OK jött vissza
}).catch((error) => {
alert(error);
}).always(() => {
alert("Most fog lejönni a disabled");
btn.removeAttr("disabled");
});
});
</script>
</body>
</html> -
Doink
aktív tag
-
Doink
aktív tag
Az összefüggés ott van hogy a 2 függvényed blokkoló az onclickben, vagyis a böngésző addig nem rajzolja újra az oldalt amíg nem végzett mind2vel. (addig befagy a böngésző mivel 1 szál van)
Az én példámban is csak az utolsó alert() OK után fogja újrarajzolni neked.Ennek az oka az event-loop modell, ami akkor kurva jó ha sok apró dolgot csinálsz async (jellemzően webes felületeken ez történik).
Operaban ctrl+shift+I
-
Doink
aktív tag
Példa, ez mind blokkoló másold be az F12 console-ba és nyomj entert:
document.body.innerHTML = "Ezt se látod";
alert("ugye?");
document.body.innerHTML = "Meg ezt se látod";
alert("ugyehogyugye?");
document.body.innerHTML = "Na ezt látod";
alert("Na majd most fogja újrarajzolni az oldalt a böngésző mert előtte minden blokkoló"); -
Doink
aktív tag
-
Doink
aktív tag
Üdv!
Van egy ciklusos scriptem, aminek a lefutása alatt szeretném kiíratni, hogy "dolgozom az eredményen...", ami a végén felülíródna az eredményekkel.
A ciklust egy gomb lenyomása indítja, ahogyan a fenti üzenet kiíratását is (2 függvény indítás onclick eseményre), de nem jelenik meg csak mikot lefut a ciklusos függvény is és nem értem miért, hisz az infót kiíratót teszem előre? Hogyan lehetne ezt megoldani?<button onclick="work(), gen()">ok</button>
<p id="res"></p>
<script>
function work() {
document.getElementById("res").innerHTML = 'dolgozok az eredményeken...';
}
Mert a gen() függvényed és a work() is blokkoló.
Ha beteszed a work() öt egy setTimeoutba akkor menni fog. Természetesen nem ez a szép megoldás de nézd át hogy a javascript hogy működik, 1 szál, eventloop stb. -
Doink
aktív tag
Áhh köszi, és annak mi lenne a módja, hogy csak akkor töltsön be a template, ha megjött az adat? Sima ngIf-el oldjam meg, vagy más a módi erre?
Amit még hirtelen nem találok, hogy miként kellene megoldanom ha a hirdetéseket nem táblázatban, hanem listában vagy akármiben tárolnám, és szeretném használni a paginator-t?
Inkább úgy kérdezem, hogy nekem kellene lekezelni, hogy ha lapoz a felhasználó, akkor az ngFor a következő 10-et rakja ki?Mert táblázatokra tök jó példákat találtam, ahol meg van oldva a lapozás egyszerűen, de listára nem találok hasonlót
- ngif-el és addig kiteszel egy spinnert amíg tölt
- resolver-rel és akkor addig el se éred a route-ot [link] -
Doink
aktív tag
-
Doink
aktív tag
Akkor csak nálam nem működik valamiért. Az első objektum értékeit ki tudom olvasni, csak a másodikat nem. Lehet hozzá köze annak, hogy a json-t egy php fájl generálja?
A javascript pedig így dolgozza fel:$.getJSON("setup.php?eszkoz="+eszkoz, function (result) {kesz = result;
document.getElementById("username").innerHTML = kesz[0].username;
document.getElementById("eszkoz").innerHTML = eszkoz;
document.forms["myForm"]["p01"].value=kesz[0].upload_interval;
document.forms["myForm"]["p02"].value=kesz[0].minspeed;
document.forms["myForm"]["p03"].value=kesz[0].waitsleeptime;
document.forms["pidForm"]["pidt01"].value=kesz[1][0].ido;
document.forms["pidForm"]["pidt02"].value=kesz[1][1].ido;
document.forms["pidForm"]["pidt03"].value=kesz[1][2].ido;
document.forms["pidForm"]["pid01"].value=kesz[1][0].pid;
document.forms["pidForm"]["pid02"].value=kesz[1][1].pid;
document.forms["pidForm"]["pid03"].value=kesz[1][2].pid;
}Debuggerrel is nézted hogy mi történik?
-
Doink
aktív tag
-
Doink
aktív tag
Mert a példában is úgy csinálták
constructor() {
this.sortedData = this.desserts.slice();
}desserts egy interface-t valósít meg
igen, szervertől kapok adatot, és ngOnInit-ben töltöm fel a tömbjét
viszont a példában van egy ideiglenes változó amiben rendezi az adatokat, ezért kell átadni neki azt a tömböt
Zedz: Rendben, azt hittem erőből menni fog ez

Mert beégette az adatokat, ha innen akarsz hívni egy service-t akkor neked így indítani a konstruktort nem sok értelme van (egy üres tömböt deklarálsz majd belekopizol egy üres tömböt). Viszont ha azon a vonalon vagy hogy resolve-olod a state-ben a service hívást akkor akár még járható út is lehet, hiszen akkor van mit lemásolni.
-
Doink
aktív tag
hülyeséget mondtam, mert elvileg mindenen működik ez a slice, a példában is egy interfacet valósítottak meg
Viszont ami szerintem a hiba, hogy ha jól tévedek, a construktor előbb fut le mint az ngOninit, viszont a construktorba hívom a slice()-t, az ngOninitbe meg töltöm fel a tömböt az objektumokkal
Erre mi lehetne a megoldás? Nemes egyszerűséggel átdobtam a contruktorba a tömb feltöltést, de persze nem jutottam semmire

Minek hívod meg a slice-t a konstruktorban? Gondolom te http-n kapsz valamit és annak az eredményét beteszed egy változóba és ennyi.
És igen a slice az tömbön működik. Így paraméter nélkül meg semmit se csinál csak egy shallow copyt.
-
Doink
aktív tag
-
Doink
aktív tag
Calibre-hez nem tudok hozzászólni, esetleg az iframe title-t nézd meg betöltés után hogy 404-van benne vagy sem.
-
Doink
aktív tag
Sziasztok!
Az alábbi programmal kapcsolatban szeretnénk segítséget kérni.
<!DOCTYPE HTML>
<html>
<body>
<button id="download">Download</button>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$('#download').click(function() {
download(
'http://nogin.info/cv1.doc',
'http://nogin.info/cv2.doc',
'http://nogin.info/cv.3doc',
'http://nogin.info/cv4.doc');
});
var download = function() {
for(var i=0; i<arguments.length; i++) {
var iframe = $('<iframe style="visibility: collapse;"></iframe>');
$('body').append(iframe);
var content = iframe[0].contentDocument;
var form = '<form action="' + arguments[i] + '" method="GET"></form>';
content.write(form);
$('form', content).submit();
setTimeout((function(iframe) {
return function() {
iframe.remove();
}
})(iframe), 2000);
}
}
</script>
</body>
</html>Az oldalon több gombot helyeztem el, aminek megnyomására letöltődik a beírt 4 linken található file. Nem minden esetben érhető el mind a négy file, a számuk 1-4-ig változó.
Az első kérdésem ahhoz kapcsolódik, hogy a gomb megnyomása után max. négyszer (attól függően hogy a linken elérhető file van vagy sem) felugrik a "Mentés másként" ablak, amiben a letöltés elindításához meg kell nyomnom az OK gombot. Hogyan lehetne megoldani, hogy az ablak ne ugorjon fel, hanem a letöltés azonnal induljon el?
A második kérdés, hogyan tudnám számolni, hogy egy gomb megnyomása után hányszor ugrik fel a "Mentés másként" ablak? A műveletet egyszerűen nem tudom elcsípni.
Azért ez a programkódot használom, mert ennél ha egy linken nem érhető el a letöltendő file, akkor továbblép (semmi sem látható belőle, valójában ezt szeretném számolni), és nem lép ki az oldalból.
Amiket még próbáltam, azokkal az a probléma, hogy ha egy olyan linkre fut, ahol nincs letölthető file, akkor az ablak helyén egy üzenet jelenik meg (a file nem létezik üzenettel). Nekem fontos hogy ez ne jelenjen meg, hanem a program ezt a háttérben lekezelje. A betett program ilyen.
1. kérdés: Nem lehet, a user beállította a böngészőjében hogy kérdezzen rá akkor rá fog kérdezni. (IE-nél lehet valamit hegeszteni rajta talán mert nekik van ilyen: window.navigator.msSaveOrOpenBlob)
2. kérdés:
Én fetchelném őket blob-okba aztán utána save.
Ezt az iframe-es / 4 dollárjelért jquery behúzásos setTimeoutos mókát nem biztos hogy eröltetném. -
Doink
aktív tag
https://jsfiddle.net/amdni/xv0q7wra/1/#&togetherjs=jBfuAjbx0j
Az első <opiton> működik, benne vannak az értékek, amit mysql adatbázisból olvas ki.
Azt szeretném, hogy a második <select><option> attól függően hogy milyen érték id van kiválasztva az elsőben, más tábált olvasson majd be az adatbázisba azaz másik php függvény fusson le. Erre gondolom egy if vagy case függvény megfelelne, de nem tudom hogy hogyan vigyem be php-ba azt az értéket, amit kiválasztottam az első <option>-ban, consol-ra ki tudom íratni a kiválasztottat, de a php-be nem tudom átvinni, undifined az érték.Php-ben kell egy beadandót csinálnom, de úgy látom hogy mindenképpen kell javascript hozzá, amihez még nem értek.
Hát ha nagyon gettoban nyomod és csak a php akkor onchange-nél írd át a document.location.href -et úgy, hogy megkapja az első select kiválasztott idjét pl: http://blablalba/products?product_id=2
És így php-ban már látod a $_GET['product_id']-t és csak 1 sor js-t kellett írni.
Ez a megoldás több sebből is vérzik de csak azért írtam hogy lásd hogy megoldható.Amúgy inkább ajaxal kéne, ha az első select változik akkor fetch()-elsz egyet ahol visszakapod a kiválaszott product színeit json-ban. Utána meg jsből kicseréled az alsó select értékeit.
-
Doink
aktív tag
Sziasztok!
Segítséget szeretnék kérni, de abszolút sötét vagyok a témában. Nem találtam jobb topicot erre, remélem a végén érthető lesz, miért.
Röviden arról van szó, hogy csinálok egy egyszerű újságot Scribussal, ezt PDF-ként mentem el a végén. Ebből szeretnék csinálni egy flipbook (flyer?) szerű online újságot, olyat mint ami pl. a LDILnek is van. Rengeteg online oldal van erre, letölthető program is, de ezeket regisztrálás vagy fizetős létük miatt egyelőre szeretném elkerülni. Viszont az egyik oldalon találtam egy megfelelő megoldást, viszont itt jön a sötétségem, azaz hogy mit kell ezzel tennem? Ha jól gondolom telepíteni kellene valamilyen környezetet? Vagy valamilyen fordító kellene hozzá? Valamelyikőtök el tudná magyarázni szájbarágósan, hogy milyen lépések szükségesek nekem? Nekem csak annyi a lényeg, hogy a saját weboldalon meg tudjam osztani az elkészült újságot.
Ha nem erre kell keresgélnem akkor bocsánat.
Előre is nagyon köszönöm!- egy notepad kell hozzá
- ha nincs jquery (1.7 vagy újabb) az oldaladon akkor azt is letölöd
- letölöd ezt is
- scriptek közé beteszed őket, jquery után legyen a turn.js<script src="......valahol a szervereden....../jquery.min.js">
<script src="......valahol a szervereden....../turn.min.js">- html <body>-ba bevered azt ami az oldalukon is látszik "Lets code" címmel
<div id="flipbook">
<div class="hard"> Turn.js </div>
<div class="hard"></div>
<div> Page 1 </div>
<div> Page 2 </div>
<div class="hard"></div>
<div class="hard"></div>
</div>
<script type="text/javascript">
$("#flipbook").turn({
width: 400,
height: 300,
autoCenter: true
});
</script>- minden div egy oldal szóval a csodaprogramodól html-be exportálod ki és oldalanként beteszed a kódjukat a fenti <div></div>-ekbe
-
Doink
aktív tag
Sziasztok.
Van egy háromszög területet/kerületet kiszámító JS programom.
Azt szeretném ha 3db input mező érték megadásából meglehetne azt állapítani, hogy a háromszög. egyenlő oldalú, egyenlő szárú illetve szabálytalan háromszög-e. Ezt egy eredmény részben kiíratni és egy típusnak megfelelő képet hozzá csatolni.
Eddig 3 változót hoztam létre hozzá.
var isosceles= base === b_side === c_side;
var equiletal= base === b_side !== c_side;
var uneven= base !== b_side !== c_side;De nem biztos, hogy ez a megfelelő kiindulási pont.
Akár jQuery-s megoldás is jó lenne.Itt egy rossz megoldás mert az általad írt feltételeket ki kellene javítani:
(1 háromszög nem akkor egyenlő száru ha base === b_side !== c_side, hanem ha bármelyik 2 oldala egyenlő)
Vagyis lehet hogy jó csak a base nekem nem mond semmit egy háromszögről azon kívül hogy "az szokott alul lenni".<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Page Title</title>
</head>
<body>
<input id="a" type="number">
<input id="b" type="number">
<input id="c" type="number">
<input type="submit" onclick="calc()">
<div id="result"></div>
<script>
function getType(a, b, c) {
if ((a === b) && (b === c)) {
return "isosceles";
} else if ((a === b) && (b !== c)) {
return "equiletal";
} else if ((a !== b) && (b !== c)) {
return "uneven";
}
return "???";
}
function calc() {
const a = parseInt(document.getElementById("a").value);
const b = parseInt(document.getElementById("b").value);
const c = parseInt(document.getElementById("c").value);
document.getElementById("result").innerHTML = `${a} ${b} ${c} => ${getType(a, b, c)}`;
}
</script>
</body>
</html> -
Doink
aktív tag
Sziasztok!
Egy olyan JS progit készítek, amelyben a vászon nagyobb a kijelzőnél, tehát a képernyő görgethető. Az lenne a kérdésem, hogy milyen utasítással lehet szöveget és képet elhelyezni úgy, hogy az görgetéstől függetlenül mindig látszódjon pl. az ablak bal felső sarkában?
Eddig így:var vaszon = document.getElementById('rajzvaszon');
var rv = vaszon.getContext('2d');
(...)
rv.font = "30px Comic Sans MS";
rv.fillStyle = "yellow";
rv.textAlign = "left";
rv.textBaseline = "top";
rv.fillText("<ESC>: kilépés",vaszon.pageX+10,vaszon.pageY+10);
próbáltam, de nem vezetett eredményre (sem a vaszon.pageX, sem rv-vel sem canvas-sal).CSS-el.
position: fixed; -
Doink
aktív tag
Sziasztok!
Adott egy feladat typescriptben:// Write a program that draws a
// pyramid like this:
//
// *
// ***
// *****
// *******
//
// The pyramid should have as many lines as lineCount isA neten találtam egy működő megoldást:
'use strict';
export {}
let lineCount: number = 4;
for (var i = 0; i < lineCount; i++) {
var str = ' ';
for (var j = 1; j < lineCount-i; j++) {
str = str + ' ';
}
for (var k = 1; k <= (2 * i + 1); k++) {
str = str + '*';
}
console.log(str);
}
A gond az, hogy nem nagyon értem, mi mit csinál a kódban. Vagy megfordítva, nem áll össze, hogy a feladat alapján mi az, amit le kéne programozni. Ha fejben meglenne, a lekódolás már nem lenne gond. Segítene valaki az értelmezésben?
Köszi!
Azt kell leprogramozni hogy a piramis tetején 1 csillag van aztán mindig 2-vel több.
*
***
*****
*******Miután ez meg van kicsit reszelgetni kellene hogy pár szóköz (legyen _) beszúrással középre kerüljön a piramis.
___*
__***
_*****
******* -
Doink
aktív tag
Sziasztok!
Van egy ilyen string-em:var str = 'ID=123456&stb'
Ebből szeretném a számsort kiszedni, viszont a számjegyek száma változó (lehet csak 123 is) és az ID szám után vagy & karakter következik vagy ott van a sor vége. Hogy tudnám kiszedni a számsort a szövegből feltétel kezelés nélkül?
var ID = str.substring(str.indexOf('ID='), str.indexOf(???))new URLSearchParams("ID=123456&stb=7&valami=rrttgg").get("ID")Ha IE11 is cél akkor van hozzá polyfill.
-
Doink
aktív tag
'estét!
jQuery bind kérdésem volna. Van egy oldalon több textarea-m evalText class-szal, és hozzájuk egy működő bind-om:
$('.evalText').each(function(){
$(this).bind('onPaste', function(){
textLimit(this);
});
});Ha semmi mást nem csinálok, csak az 'onPaste' mellé beírom az 'onKeyUp'-ot (tehát úgy néz ki, hogy bind('onPaste onKeyUp'), minden más változatlan), akkor egyik eventhez sem történik meg a kötés, pedig a jQuery doksi szerint mennie kellene. Mit csinálok rosszul?
Az event nevek nem stimmelnek.
-
Doink
aktív tag
Csupán érdeklődésképp, ha már így szóba került...
Pure JavaScriptben van-e coro(utine) függvény? Természetesen nem built-in-re gondolok, hanem bármilyen sajátra. Illetve await és valami executorban futtatásra is kíváncsi vagyok. Bár gondolom az executor veszett ügy, mivel még mindig egy egyszálas, alapvetően böngészőben futó szkriptnyelvről beszélünk. Azt meg nehezen tudom elképzelni, hogy a browser csak úgy engedi a threadek halmozását.
Vannak webworkerek, async és await is.
-
Doink
aktív tag
Nagyon köszönöm, hogy megnézted, így már érthetőbb, valamiért viszont azt kapom, hogy:
ERROR TypeError: Cannot read property 'entries' of undefined
at SafeSubscriber._next (file:///android_asset/www/build/main.js:2649:46)
at SafeSubscriber.__tryOrUnsubA sulyhavontát logoltam és megjelennek az adatok, szóval nem értem, hol akad el. Rá tudnál pillantani kérlek
? Beleírtam a beolvasás módját, valamint a d3 nestinget is. (lefutni nem fog jsfiddlen, mert adatbázisból olvas)Ha kicseréled a firebase részt egy JSON.parse()-ra akkor viszont lefutna az is. Az hogy hol akad el az meg oda van írva: 2649:49 és az a baja hogy egy undefined-on hívódik meg az entities() fgv.
Itt azért olyan kérdés is felmerül hogy nem-e egyszerűbb a d3.nest előtt összedobni ezt a struktúrát egy ciklussal mint utána 4-el. -
Doink
aktív tag
köszi, ez megvan, csak az a baj, hogy az adatokat egy firebase adatbázisból olvasom be majd mappelem, a képen látható eredményt kapva. Szóval nem tudom így manuálisan beírogatni a számadatokat, hanem ezen az objektumon kéne végigmenni és úgy felépíteni a barchartot.
Egyébként erről van szó:[link]
Akkor igazából mindent tudsz, mi a kérdés?

[link] -
Doink
aktív tag
Sziasztok!
Régóta leragadtam egy egyszerűnek tűnő feladatnál és stackoverflowon sem tudok választ kicsikarni senkiből, hátha van itt valaki, aki jártas a Chartokban.
van nekem egy ilyen év-hónap-napra bontott objektumom, azon belül a példában az szerepel, hogy az adott napon hány kg halfajta lett kifogva. Ezt az adatot szeretném barcharton megjeleníteni, napi bontásban. Úgy képzelem el, hogy egy napra mutatja a teljes fogást az oszlop, azon belül pedig színekkel halfajtára bontva.
Valahogy ebbe kéne megcsináljam. Van ötlete valakinek, hogy hogyan kellene? Egyszerűen sehol nem találok normális tutorialt, csak statikus adatokkal. Ha ezt meg tudnám oldani, akkor valószínűleg ráéreznék a többire is, mert több dologról szeretnék kimutatást.

this.barChart = new Chart(this.barCanvas.nativeElement, {
type: 'bar',
data: {
labels: ???,
datasets: [{
label: '# of catches',
data: ???,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255,99,132,1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero:true
}
}]
}
}
});Mert nem jól adtad meg a dataset-et.
labels: ['1. nap', '2. nap', '3. nap'],
datasets: [
{ label: "ponty", data: [5,8,12] }, // 5 ponty az első napon, 8 ponty a 2. napon, 12 ponty a 3.-on
{ label: "keszeg", data: [1,2,3] },
{ label: "kárász", data: [4,5,6] }
] -
Doink
aktív tag
No és mi van akkor ha beregisztrál, másolja a fájlt, de nyilvánosságra hozza a jelszót? Akkor mások ingyen fognak tudni regisztrálni a másolatokon!

Amit te látni fogsz mert aktiválásnál beírod valami adatbázisba és amint gyanúsan sokszor használtak fel egy kulcsot különböző ip/ország/stb helyekről akkor visszavonod a licensz értelmében.
-
Doink
aktív tag
Hát ez lehangoló, hogy sokszorosítás ellen nem védhetem a JS-es fájlaimat?
Mit tanácsoltok, hogy a programocskámat sokszorosítás ellen hogyan védjem: egy másik programnyelvre írassam át talán?, - akkor melyikre?
Azért esetedben felmerül a kérdés hogy létezik-e egyáltalán olyan fájl amit lehet védeni sokszorosítás ellen. Szerintem rendre nem az a bevett szokás hogy nem hagyjuk lemásolni, hanem nyugodtam másolhatja de addig nem fogja tudni használni amíg nem aktiválja / beregisztrál és fizet / stb.
-
Doink
aktív tag
Sziasztok !
Írtam egy 8300 db soros programocskát egy közönséges programnyelven, még nincs teljesen befejezve, ezt szeretném átkódolni JavaScript-re, amit aztán szeretnék felrakni egy olcsón fizetős weboldalra. De mielőtt még belevágom magam az átkódolásba, tudnom kellene, hogy a JavaScript-es pl. htm, html, mht fájlokat lehet-e titkosítani úgy, hogy a felhasználók a JavaScript-et semmiképen ne láthassák, de a kiírt tartalmat láthassák is és másolhassák is, a TextArea-jába beírhassanak akármit? Aztán azt is tudnom kell, hogy a JavaScript-es pl. htm, html, mht fájlokat lehet-e sokszorosítás(!) ellen védetté tenni, mert semmiképen sem szeretném azt, hogy a felhasználó sokszorosítsa, ugyanis akkor nincs értelme fizetősé tenni? Van-e olyan neki, hogy az egyik számítógépről nem viheti át a másik számítógépre?
Ha valamit csak ki akarsz írni amit másolhat akkor ha szerver oldalon állítód elő nem a böngészőjében javascriptel akkor abból a kliens semmit sem lát csak a végeredményt.
Ha nem lehet szerver oldalon előllítani akkor Uglify-olni lehet egyébként, ami annyit jelent hogy nehezen érthetővé teszi a kódot de a működését nem befolyásolja. Böngészőben megjelenített html-t és javascriptet nem lehet sokszorosítás ellen védeni, csak licenszel tudod korlátozni a felhasználási feltételeket.
-
Doink
aktív tag
-
Doink
aktív tag
Sziasztok!
Van egy belsős oldalunk a cégnél, ahol tételeket rögzíthetünk fel, de csak mindig pár napra előre lehet. Viszont jövő héten én már nem dolgozok, de fel kellene rögzítetlenem valamit jóval előrébb. Írtam az infós srácnak és azt írta, hogy ideiglenes megoldásként menjek az oldalra, majd futtassam meg ezt:
openWindow('22122017')és erre felkellene ugrania a rögzítőablaknak. Ez egy javascript, ha jól gondolom, de hol kell futtatnom?
Akkor ott is erős a szerver oldali validálás

-
Doink
aktív tag
Keresek egy olyan programot, amelyik tetszőleges időközönként honlapokat szkennelne, az új eddig meg nem talált linkeket kimásolná és listázná pl word fájlba. Konkrétan arra gondoltam, hogy a honlapomon az európai szociális rendszerek változásai érdekelnek és ezek változásait szeretném követni, úgy, hogy ne kézzel kelljen naponta végigkeresgélni, hanem akár naponta automatikusan tudja a program megadott keresési feladatok alapján keresni listázni és megjeleníteni, amit talált. Gépbekapcsolás és programindíítás után persze. Akár nem ingyenes programra gondoltam.Most kezdek programozni tanulni Javascriptet, szerintem ez a szoftver lenne a diplomamunkám, ha még nincsen ilyen kitalálva. Ha valakinél online tanulhatnék az lenne a legjobb, persze fizetnék a konzultációkért, feladatokért, stb. Kösz előre is.
Ha javascriptben csinálod akkor az Electron lehet a kiindulási pontod. Ettől függetlenül ez a feladat más nyelveken is megoldható (java,c#, scala, stb.) és szakdolgozatnak ennél combosabb dolgokat szoktak csak elfogadni, szóval ezt tartsd szem előtt.
-
Doink
aktív tag
-
Doink
aktív tag
Ezt a fát nem akarod kiiratni mert azt látod a böngészőben F12->source. <html> a fa csúcsa, annak van 2 gyereke <head> <body> és így tovább. A belső adatszerkezet lesz egy fa ahogy a gép tárolni fogja a memóriában hogy gyorsan tudj benne keresni és módosítani.
Ennek a libnek meg pont az a lényege hogy css selectorokkal tudj keresni/módosítani ebben a html-ben és ne kelljen stringkezelési műveletekkel bajlódni.
Ha mégis be szeretnéd járni a fát akkor a a dokumentációban találsz olyan metódust hogy .children() ami visszadaja egy node közvetlen gyerekeit és így már adja magát hogy rekurzívan elég egyszerű bejárni.A részfát úgy értettem hogy ha van az oldalon egy ilyened és neked kell a price és a name
<!-- többmillió html kód felette -->
<div id="product">
<p class="price">1</p>
<p class="name">name</p>
</div>
<!-- többmillió html kód alatta -->és amúgy az oldalon még van ezer más html tag mindenfelé akkor azt így csinálod:
var $ = cheerio.load(html);
var product = $("#product");
var result = {
price: product.children(".price").text(),
name: product.find(".name").text()
}és nem ezt:
var $ = cheerio.load(html);
var result = {
price: $("#product > .price").text(),
name: $("#product > .name").text()
}mert így kétszer végig fog menni az egész fán megkeresni a #product-ot.
Ettől függetlenül a cheerio oldalán van elég sok példa amit érdemes lenne átfutnod. -
Doink
aktív tag
Köszi, de hibát dob ki:
"TypeError: (class)@10da0984 nem egy függvény, hanem egy undefined. (9. sor a(z) „cheerio_gasify” projekt „gasify” fájljában)"
Egyébként az egyes sorok mit csinálnak a te kódban, mert eléggé megvariáltad?
Vagy miben másabb?Más: Ott sajnos nem mindig a helyes ár jelenik meg.
Például ha email only címkével van ellátva, akkor az oldal forrásában itt található a helyes ár:<span class="my_shop_price" data-orgp="49.99" style="color:#CC0000; font-size:28px; font-weight:bold">47.99</span>
[link]
Tehát innen hogy tudom kiszedni a 47.99-et?
A termék nevét meg innen kellene:<h1 style="display:inline;">Original Xiaomi Mi Band 2 Smart Watch for Android iOS</h1>
<span class="allProperty"> -<strong> BLACK</strong></span>Amúgy ennek a függvénynek nem kellene gyorsabban működnie a string-es megoldásomnál? Mert kétszer lassabban fut le...
A fenti kódot nodejs-ben futtattam mert a lényegi rész ugyan az google scriptben is:
var cheerio = cheeriogasify.require('cheerio');
function run() {
var response = UrlFetchApp.fetch("https://www.gearbest.com/smart-watches/pp_362705.html");
var $ = cheerio.load(response.getContentText());
var result = {
url: $("meta[property='og:url']").attr('content'),
price: $(".price_area > .goods_price > .my_shop_price").data('orgp'),
name: $(".goods-info-top > h1").text()
}
Logger.log(result);
}A cheerionak lassabbnak kell lennie amíg csak pár adatra van szükséged, ettől függetlenül így is elég gyors és ugyan úgy lehet rajta gyorsítani ahogy jquery-ben is tudsz (nem az egész fában keresel hanem csak részfában). Az hogy a google script-re milyen korlátozások vannak és ott miért ilyen lassú már maga az url lekérdezés is annak neked kell utánanézni, nodejs-ben 180ms alatt végez a felparseolással és az eredmény kiírással, google scripben pedig ugyan ez a művelet több mint 10 másodperc.
-
Doink
aktív tag
Ezt a cheerio lib-et hozzáadtam a projektemhez.
A példa program működik is, de honnan tudom, hogy miket lehet lekérdezni?
Például, hogy tudom lekérdezni ennek a terméknek a nevét (nem a title-t, mert az másabb), árát, megjelenített kép linkjét stb...?function cheerio()
{
var cheerio = cheeriogasify.require('cheerio');
var response = UrlFetchApp.fetch("https://www.gearbest.com/smart-watches/pp_362705.html");
var $ = cheerio.load(response.getContentText());
Logger.log($('title').text());
}Szia, sima css selectorokkal:
var request = require('request');
var cheerio = require('cheerio');
request('https://www.gearbest.com/smart-watches/pp_362705.html', function (error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html);
var url = $("meta[property='og:url']").attr('content');
var price = $("meta[property='og:price:amount']").attr('content');
console.log(url, price);
}
}); -
Doink
aktív tag
Akkor itt egy ilyen oldal ami ezeket a tagokat tartalmazza:
<meta property="og:site_name" content="www.banggood.com"/>
<meta property="og:description" content="Only US$14.44, buy best ANENG AN8002 Digital True RMS 6000 Counts Multimeter AC/DC Current Voltage Frequency Resistance Temperature Tester ℃/℉ sale online store at wholesale price.US/EU warehouse."/>
<meta property="og:type" content="product">
<meta property="og:title" content="ANENG AN8002 Digital True RMS 6000 Counts Multimeter AC/DC Current Voltage Frequency Resistance Temperature Tester ℃/℉">
<meta property="og:url" content="https://www.banggood.com/ANENG-AN8002-Digital-Ture-RMS-Multimeter-ACDC-Current-Voltage-Frequency-Resistance-Temp-Tester-p-1145700.html">
<meta property="og:image" content="https://img.banggood.com/thumb/view/oaupload/banggood/images/F4/8C/36c71d9d-edb6-402a-abf7-419251b4a5c6.jpg">Ezekből szeretném kinyerni a "content"-et.
De most meg csináltam string-es műveletekkel, ami működik ugyan, csak ha van erre valami beépített függvény, azért mégis jobb lenne azt használni.
function openGraph(url, type)
{
var response = UrlFetchApp.fetch(url);
var content = response.getContentText();
var preString = '<meta property="og:'+type+'" content="';
var searchString = '"';
var preIndex = content.indexOf(preString)+preString.length;
var searchIndex = preIndex + content.substring(preIndex).indexOf(searchString);
return content.substring(preIndex, searchIndex);
}
//eredmények kiíratása:
function onEdit()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var url = "https://www.banggood.com/ANENG-AN8002-Digital-Ture-RMS-Multimeter-ACDC-Current-Voltage-Frequency-Resistance-Temp-Tester-p-1145700.html";
Logger.log(openGraph(url, 'site_name'));
Logger.log(openGraph(url, 'description'));
Logger.log(openGraph(url, 'type'));
Logger.log(openGraph(url, 'title'));
Logger.log(openGraph(url, 'url'));
Logger.log(openGraph(url, 'image'));
}Illetve az a baj még ezzel, hogy ha a webfejlesztő egy szóközzel többet tesz valahová (mint itt a
site_name"és a"contentközött), akkor már nem működik jól.
Szóval ezen adatok kinyerésére nincs valami atom biztosan működő beépített függvény?A Google Script amúgy Javascript alapú (pl. google táblázatot lehet vele okosítani), de úgy néz ki, hogy vannak olyan JS utasítások amit vagy nem ismer, vagy csak én használom rosszul őket.

Azért nem működik mert szerver oldalon lehúzol egy stringet valahonnan és azt még fel kéne parse-olni hogy ne szövegként kelljen kezelni hanem fába legyen rendezve mint a DOM.
Erre én kb csak a cheerio nevű lib-et ismerem de szerintem bármilyen xml parser megteszi ha az oldal valid. -
Doink
aktív tag
Sziasztok! IndexedDb a téma, hogyan adhatom vissza a getData() metódussal a táblában található elemeket?
Az async működést nem igazán vágom

this.getData = function(){
var open = indexedDB.open(database, 1);
var data;
open.onsuccess = function() {
// Start a new transaction
var db = open.result;
var tx = db.transaction(table, "readwrite");
var store = tx.objectStore(table);
// Query the data
var getAllData = store.getAll();
getAllData.onsuccess = function() {
data = getAllData.result;
};
// Close the db when the transaction is done
tx.oncomplete = function() {
db.close();
};
};
return data;
};A egyik megoldás az hogy ígéretet (Promise) adj vissza és belül az onsuccess-nél resolve-old, onerror-nál meg reject-eled.
this.getData = function(){
return new Promise(resolve,reject) => {
let query = db.valami_async_művelet()
query.onsuccess = function(result){
resolve(result)
}
query.onerror = function(err){
reject(err)
}
}
}Így fogod tudni meghívni:
ValamiService.getData().then((result) => {
// beteljesült az ígéret és a result-ban lesz az eredmény
}).catch(error) => {
// hiba
});Másik elegáns megoldás ha cold observable-t használsz (rxjs).
-
Doink
aktív tag
van egy jelszó vizsgáló scriptem, amibe szeretnék még beletenni egy olyat is, hogy a szóközöket is levágja az elejéről és a végéről
eddig jutottam el:
function jelszoEll(){
var urlap = document.forms['urlap'];
//nem kezdődhet számmal
var jelszo = urlap['pwd'].value;
var jelszo2 = jelszo.trim();
var hibaHelye = document.getElementById('jelszoErr');
if (jelszo == jelszo.toLowerCase())
hibaHelye.innerHTML = "A jelszó nem tartalmaz nagybetűt!";
else hibaHelye.innerHTML = "";
}de sajna így nem vizsgálja helyesen szóközt
plusz kellene még bele..számot vizsgáló rész is..Az a hiba hogy a jelszo2-be teszed a trimelt stringet és utána nem csinálsz vele semmit.
Számok:var hasNumber = new RegExp(/\d/).test(jelszo2);Apró megjegyzés hogy a webes világban bevett szokás szerver oldalon ellenőrizni és visszaküldeni a hibát hiszen szerver oldalon úgyis mindig kötelező ellenőrizni mindenféle inputot.
-
Doink
aktív tag
Ja, bocs, nem láttalak, akkor írom a részleteket.
Az első bekezdés csak tájékoztató jellegű, hogy képben legyetek, majd utána jelzem, mi az ötletem lényege.Eredetileg egy magyar származású egyetemista fejlesztett egy progit bizonyítandó, hogy a webes böngészések során lehet követni, ki merre járt és Collision révén Firefox böngészőhöz add-on lett belőle.
Ennek révén hamarosan fejes lett belőle és megbízott egy művészeti egyetemista csoportot valamilyen alapítványi támogatás révén, hogy csináljanak a programjához vizuális megjelenítést.
Nagy siker lett Lightbean add-on néven.
(Azután a srác egy másik nagy cég vezetője lett, amit pár év alatt sikeresen tönkre tett. Akit érdekel Gary Kovacs néven wikipedian megtalálja a történetet.)A lényeg:
adott a Lightbean add-on, aminek minden része ingyenesen használható, és ami legalább két részből áll: az eredeti, böngésző által begyűjtött ip címek és a köztük lévő kapcsolatok rendszerezéséből, valamint a vizuális részből.Az ötletem az, hogyha le tudjátok választani a vizuális megjelenítőt és írni hozzá olyan adatbeviteli megoldást, amivel bárki megadhatja az általa ábrázolandó adatokat, akkor egy, az amerikaiaknál és briteknél nagyon népszerűvé vált Freemind-hoz hasonló programot lehetne csinálni. A buktató "csak" annyi, hogy annak már nem javascript fájlokból kell állnia, hanem portable programot kell belőle kreálni.
A buktató rész valójában nem buktató, hiszen az Electron pont ezt tudja.
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Sony MILC fényképezőgépcsalád
- Xbox tulajok OFF topicja
- AliExpress tapasztalatok
- Robotporszívók
- Futás, futópályák
- Drón topik
- Eredeti játékok OFF topik
- Nintendo Switch 2
- Négy másodperc alatt betölt a Forza Horizon 6 a Microsoft csodatechnológiájával
- GoodSpeed: Anker Charger (140W, 4-Port, PD 3.1) laptop, mobil, tablet töltő
- További aktív témák...
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest













