SRC nélküli IFRAME-ek HTTPS-en IE6-ban

2010.02.26. 08:25 stack

Bosszantó jelenség, hogy IE6-ban, https-en lévő oldalon létrehozok egy üres iframe-t, akkor megjelenik egy hibaüzenet, amely szerint a lap biztonságos és nem biztonságos elemeket is tartalmaz, és megkérdezi, hogy meg akarjuk-e jeleníteni? A juzer nem tudja, hogy mi az, hogy https, igazából tökéletesen meglenne nélküle is, de egy ilyen hibaüzenettől teljesen megijed. (talán okkal)

Az sem segít, ha megadom az src értékének, hogy about:blank. Tudni illik, IE6 alatt az sem biztonságos. Még szerencse, hogy van egy pixel.gif-ünk:

var iframe = Ext.getBody().createChild({
    tag: 'iframe',
    src: Ext.isIE6 && Ext.isSecure ? Ext.BLANK_IMAGE_URL : 'about:blank'
});

Régebbi fórumokon találni olyan bejegyzéseket is, hogy használható a "javascript:return false;" is, de MS ezt a hibát kijavította az SP2-ben, így már a return false sem biztonságos.

2 komment

Címkék: ie6 https iframe napi szívás

TextField.maxLength

2010.02.17. 07:36 stack

Alkalmanként nekem hiányzik, hogy egy-egy szövegmezőnél a maximális hossz ne csak figyelmeztetés szintjén korlátozza a begépelhető karakterek számát. Szeretném, hogy a maxLength + 1 -edik karaktert már ne is gépelhessük be. Az indok, amiért az ExtJS ezt nem támogatja egyszerű: ha a juzer copy-paste után is szeretné szerkeszteni a szöveget, akkor elképzelhető, hogy "átmenetileg" hosszabb a szöveg, ellenőrzéskor meg úgyis vizsgáljuk a szöveg hosszát. Ami jogos, de alkalmanként akkor is hiányzik. :)

Legegyszerűbb megoldás erre, ha létrehozáskor felülírjuk az input elem definícióját:

{
  xtype: 'textfield',
  autoCreate: {tag:'input', type:'text', autocomplete:'off', maxlength: 10}
}

Többen tanácsolják még, hogy az eredeti maxLength értéket továbbra is adjuk meg! Számomra ennek a haszna megkérdőjelezhető, mivel tudtommal nem létezik olyan ExtJS kompatibilis böngésző, amely ne ismerné az input tag maxlength attribútumát.

1 komment

Címkék: textfield maxlength

GROUP_CONCAT

2010.02.11. 08:10 stack

MySql-ben a szokások SUM, MIN, MAX … aggregátum függvények mellett van egy GROUP_CONCAT nevű, melynek lényege, hogy - a nevéből adódóan is - a kapott értékeket összefűzi.

SELECT oszlop1, oszlop2 FROM tabla
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 5 |
| 2 | 3 |
| 2 | 3 |
| 2 | 1 |
SELECT oszlop1, GROUP_CONCAT (oszlop2) FROM tabla GROUP BY oszlop1
| 1 | 1, 2, 3 |
| 2 | 5, 3, 3, 1 |

Lehetőség van a szeparátor módosítására is, illetve a sorrend átalakítására pl:

GROUP_CONCAT(DISTINCT oszlop2 ORDER BY oszlop2 ASC SEPARATOR ' ')

Szólj hozzá!

Címkék: mysql group contact

Easing list

2010.01.19. 08:36 stack

Először a Prototype JS keretrendszerben láttam azt a megoldást, hogy elem mozgatásánál megadhatunk egy segédfüggvényt, amelynek segítségével az egyenes vonalú mozgás helyett különböző típusú mozgásokat egyszerűen lehet megvalósítani: Lassabban induljon, majd begyorsuljon; a végén pattogjon; menjen kicsit túl aztán vissza, illetve ehhez hasonló jópofaságok…

ExtJS-ben aránylag szép számmal vannak ilyen függvények. Az alábbi linken összegyűjtöttem ezeket: http://stack.hu/extjs/easing_list.html (mindegyikre egy-egy példa, illetve egy grafikon, hogy jobban látszódjon pontosan „merre” is ment az elem)

Az elemek mozgatásáról már volt szó itt: http://extjs.blog.hu/2009/05/02/pozicionalas

Szólj hozzá!

Címkék: pozicionálás easing

COUNT DISTINCT

2010.01.08. 18:54 stack

Ha le akarjuk kérdezni, hogy hány különböző érték van egy táblá egyik oszlopában, akkor a COUNT aggregátum függvényt kombinálhatjuk a DISTINCT záradékkal:

SELECT COUNT(DISTINCT oszlop) FROM tabla

2 komment · 1 trackback

Címkék: mysql count

Closure Compiler

2010.01.06. 08:42 stack

A Google néhány hónapja kihozta a Closure Compiler nevű JavaScript forráskód tömörítő (és gyorsító) eszközét, ami véleményem szerint gond nélkül felveszi a versenyt a többi hasonló célra készített programmal.

Vannak benne jó ötletek:

  • if (a) { b(); } -> a && b();
  • if (a) { b(); } else { c(); } -> a?b():c();
  • var a = 60*60*5; -> var a=18E3;
  • var a; var b; -> var a,b;

Az alábbi PHP scripttel a saját kódjainkat online összetömöríthetjük:

Szólj hozzá!

Címkék: google php closure compiler

Boldog, áldott karácsonyt Mindenkinek! :)

2009.12.25. 11:08 stack

Kellemes karácsonyi ünnepeket kívánok minden kedves ismerősnek és ismeretlennek, akit jó sorsa erre az oldalra vezérelt! :)

1 komment

Címkék: off

AddCharset

2009.12.17. 07:55 stack

Valamiért a legtöbb webszerver - hiába az alapértelmezett utf-8 beállítás - a JavaScript és a CSS fájlokat nem utf-8 -as kódolással jeleníti meg a böngészőben. (talán azért, mert nem sokan használnak ékezetes kommenteket, így az utf-8-as megjelenítésre nekik nincs is nagy szükségük)

Ezen az Apache mime modulja segíthet. A megfelelő karakterkiosztáshoz az alábbi kódrészletet adjuk hozzá a .htaccess fájlhoz:

<IfModule mod_mime.c>
    AddCharset utf-8 .js
    AddCharset utf-8 .css
</IfModule>

Szólj hozzá!

Címkék: utf8 htaccess header

Eclipse + JSLint

2009.12.14. 21:25 stack

A JSLint-et szerintem a legtöbb JavaScripttel rendszeresen dolgozó programozónak nem kell bemutatni: egy JavaScript szintaktikai ellenőrző, amelynek használata nagyon ajánlott.

Nálam leggyakrabban akkor kerül elő, amikor egy object-nél az utolsó property után véletlenül marad egy vessző, amivel ugye IE egyáltalán nem tud mit kezdeni:

var hello = {
    hu: "Szia világ!",
    en: "Hello world!",
    //fr: "Bonjour tout le monde!"
};

2 komment

Címkék: eclipse jslint

maskCls

2009.12.11. 23:43 stack

A mask függvény második paramétere határozza meg, hogy milyen stílusban jelenjen meg maszkolás közben a várakozó szöveg. A legtöbb ExtJS komponens az 'x-mask-loading' CSS osztályt alkalmazza, de néhány soros egyszerű CSS szabállyal könnyedén lecserélhető a várakozó animációhoz tartozó kép, illetve az elrendezés.

Szólj hozzá!

Címkék: css mask

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