substr

2011.02.11. 13:02 stack

Egy karakterből álló string utolsó két karaktere:

'x'.substr(-2); // 'x'

Ugyanez PHP-ben:

substr('x', -2); // false

3 komment

Címkék: php string napi szívás

event + beforeevent

2011.02.03. 07:40 stack

Amikor saját komponenseinkhez műveleteket rendelünk, ahhoz eseményeket, akkor érdemes az alábbi sablont használni:

event: function (...) {
    if (this.fireEvent('beforeevent', this, ...) !== false){
        this.doEvent(...);
        this.fireEvent('event', this, ...);
    }
    return this;
},
doEvent: function (...) {
    // ...
}

Kiemelendő, hogy a before esemény előfeltétel is egyben, amennyiben nem teljesül, akkor az egész esemény végrehajtása elmarad.

2 komment

Címkék: beforeevent

jslint4java

2011.01.03. 07:58 stack

A napokban volt időm eljátszani kicsit azzal, hogy a JSLint-et parancssorból meghívhassam. Legnagyobb örömömre rendkívül könnyen megvalósítható az, amire nekem szükségem volt.

A jslint4java (ahogy a neve is mutatja:) egy Javaban írt wrapper a JSLint-hez, elindítása rendkívül egyszerű:

% java -jar jslint4java-1.4.jar application.js
jslint:application.js:11:9:Line breaking error ')'.
jslint:application.js:11:10:Missing semicolon.

Az JSLint-ben megadható opciók paraméterezhetőek, magam részéről még két paraméterrel egészítem ki a hívásokat: --encoding UTF8, illetve -–undef.

Szólj hozzá!

Címkék: jslint

Áldott, békés Karácsonyt kívánok!

2010.12.24. 18:32 stack

Áldott, békés, szeretetteljes Karácsonyt kívánok mindenkinek!

Szólj hozzá!

Címkék: off

Offline doksi

2010.12.01. 19:21 stack

Ha offline ExtJS doksi, akkor ExtDocSuite. (a hivatalos doksi Adobe Air adaptációja)
Vonaton utazgatás közben gyorsabb, mint a mobil internet. :)

Szólj hozzá!

Címkék: offline doksi

window.open + title + no url

2010.11.29. 19:44 stack

Néha megdöbbenek, hogy egyes böngészőgyártók biztonsági okokra hivatkozva milyen hülyeségeket tudnak csinálni. (most kivételesen nem az IE-ről van szó:)

Ha egy újonnan létrehozott ablak tartalmát dinamikusan generálom, akkor hiába a TITLE tag, Chrome-ban, illetve Safari-ban az ablak címe a „névtelen” értéket veszi fel.

var win = window.open('', 'new_window', 'width=200,height=50'),
    html = '<html><head><title>Hello world!</title></head>' +
           '<body>Hello world!</body></html>';
win.document.write(html);
win.document.close();

Megoldás végül az lett, hogy az url helyére a 'about:blank' –t írom, ekkor már figyelembe veszi a TITLE tag-ot is.

Szólj hozzá!

Címkék: title window napi szívás

Date.toJSON()

2010.11.25. 18:46 stack

Ha egy dátum típusú változót akarunk JSON formára alakítani, akkor a natív és az alapértelmezett JSON feldolgozás között van némi különbség.

"2010-11-25T18:38:15.005Z"
"2010-11-25T18:38:15"

Míg a natív megoldást a Date.prototype.toJSON, addig a másikat az Ext.util.JSON.encodeDate felülírásával lehet módosítani. (csak zárójelben, ennek a másodiknak nincs túl nagy haszna)

Ext.USE_NATIVE_JSON = true;
Date.prototype.toJSON = function () {
    return this.format("Y-m-d H:i:s");
}
Ext.util.JSON.encodeDate = function (date) {
    return '"' + date.toJSON() + '"';
}

Ja, és továbbra is érdemes a natív JSON-t használni, mert az jó!

Szólj hozzá!

Címkék: date json

CSV + UTF8

2010.11.22. 08:07 stack

Ha adatok exportálásáról van szó, akkor gyakran CSV fájlokat generálok. Gyors, egyszerű, nincs vele semmi gond. Talán egyedüli említésre méltó momentum benne a karakterkódolás.

A magam részéről mindenhol UTF8-at használok. BOM segítségével oldom meg, hogy a CSV fájl is tudja magáról, hogy ő egy UTF8 fájl. Előtte meg a szokásos fejlécek:

// headers:
header('Content-Type: application/csv');
header('Pragma: public');
header('Cache-Control: public');
header('Expires: 0');
header('Content-Description: File Transfer');
header('Content-Transfer-Encoding: binary');
header('Content-Disposition: attachment; filename="..."');
// UTF-8 BOM:
echo "\xEF\xBB\xBF";

Szólj hozzá!

Címkék: php utf8 header csv

Grayscale

2010.11.18. 08:17 stack

A vBulletin fórummotornál láttam azt az érdekes ficsört, hogy IE alatt a kilépésre rákérdező ablak mögött minden fekete-fehérre változik. Szerintem kifejezetten jópofa. :)

Körülbelül így néz ki a kód:

<a href="logout.php" onclick="return log_out();">Kilépés</a>
function log_out () {
    document.body.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);';
    if (confirm('Biztos hogy ki akarsz lépni?')) {
        return true;
    }
    document.body.style.filter = '';
    return false;
}

Legnagyobb sajnálatomra az általam készített rendszereket is nagy arányban használják IE alatt, így arra gondoltam, hogy akkor ilyen nekem is kell. :)

Szólj hozzá!

Címkék: element grayscale

#f00 ?= #0f0000

2010.11.16. 11:03 stack

Minap egy furcsa hibára bukkantam, egy elem háttérszínét kellett volna animálni, de azt tapasztaltam, hogy bármilyen színt adok meg, mindig feketének veszi az értéket… de amikor megnéztem, hogy biztos fekete az a fekete, akkor láttam, hogy:

Ext.getBody().animate({
    backgroundColor: {
        to: '#f00'
    }
}, 1, function () {
    alert(Ext.getBody().getStyle('background-color'));
}, 'easeOut', 'color');

Az eredmény meg: rgb(15, 0, 0) vagyis: #0f0000

Szólj hozzá!

Címkék: napi szívás animate

ExtJS blog, mi ez?

Az ExtJS egy JavaScript keretrendszer, melyet a blog írója elfogultan a legjobbnak tart, és ez a blog olyan apróságok gyűjteménye, melyek ExtJS használata közben felmerültek, eszébe jutottak...

Címkék

ajax (4) alignto (1) állás (3) analytics (1) anchorto (1) android (4) animate (2) array (9) auto (1) back button (1) beautifier (1) beforeevent (1) benchmark (1) blur (1) budapest.js (1) button (1) canvas (1) capture (1) case sensitive (1) center (1) change (1) cikkajánló (1) class (2) closure compiler (1) collapse (1) combobox (3) comment (1) console.log (2) contextmenu (2) core (2) count (1) css (15) csv (1) dataview (1) date (4) datefield (3) datepicker (1) debug (1) doksi (1) dragdrop (1) easing (1) eclipse (1) editor (1) element (5) error (5) eval (2) event (1) fejtörő (1) field (2) fieldset (1) filter (1) firefox (4) firefox extension (2) focus (3) fonts (1) fun (1) function (1) google (2) google chrome (1) grayscale (1) grid (4) group contact (1) header (3) height (2) hidden (1) hirek (2) history (1) htaccess (1) html5 (2) htmleditor (2) https (1) icon (3) id (2) ie (2) ie6 (1) ie9 (1) iframe (3) image (2) indexof (1) javascript (1) jquery (2) jslint (2) jsmin (1) json (7) keymap (1) kipróbálom (2) könyvajánló (2) label (1) layout (1) lint (1) log (1) loop (1) magyar (2) mandelbrot (1) mask (1) math (1) maxlength (1) mistake (1) mysql (5) napi szívás (16) nem extjs (12) node (1) nth child (1) number (1) off (5) offline (1) operator (1) override (20) pagesize (1) paging (2) panel (2) php (7) picker (1) plugin (3) pozicionálás (2) preload (1) print (1) propertygrid (1) pseudo (3) readonly (2) record (1) regexp (1) replace (1) resizable (1) rotate (1) round (1) scale (1) sencha touch (2) server (1) shuffle (1) slider (1) sort (3) sortable (1) store (2) string (7) sum (1) tabchange (1) tabpanel (1) tab key (2) tdd (1) template (1) textarea (2) textfield (1) textitem (1) theme (2) throw (1) timer (1) timestamp (1) title (2) toggle (1) toolbar (6) tools (1) total count (1) transparent (1) tree (1) treenode (1) trigger (1) truncate (1) try (1) ucfirst (1) undefined (2) unique (1) unload (1) urlencode (1) utf8 (2) verzió (1) video (1) viewer (1) viewport (2) visible (2) vtype (1) window (2) xtype (1) zindex (2)

Extjs.blog.hu - RSS

Kérdés?

süti beállítások módosítása