Názory k článku Seaside (4)

  • Článek je starý, nové názory již nelze přidávat.
  • 21. 3. 2005 14:42

    Tom (neregistrovaný)
    Co když pomocí stylů definuji obrázek na pozadí? Příklad: body { background: 'back.png'; } Pokud mám obrázek back.png uložen přímo v image Squeaku, jak se k němu mohu dostat? Asi bych měl nějak donutit Komanche aby místo obrázku back.png vracel obrázek který mám uložen v image, ale jak? Nebo by to šlo udělat přes metodu urlForDocument?
  • 21. 3. 2005 18:21

    Pavel Křívánek
    Pokud chcete mít všechna data v image, možností jak postupovat je celá řada. Jedno z nejjednodušších je např. toto:

    Vytvoříte si slovník obrázků
    Smalltalk at: #ImageDictionary put: Dictionary new.
    Uložíte do ní nějaké soubory
    ImageDictionary at: '/seaside/balloon.jpg' 
        put: (FileStream readOnlyFileNamed: 'balloon.jpg') contentsOfEntireFile.
    a pak ve třídě WAKom upravíte metodu processHttpRequest:
    processHttpRequest: aRequest
    
        (aRequest url endsWith: '.jpg')
            ifTrue: [  
                | img |
                img := ImageDictionary at: aRequest url ifAbsent: [ ^ nil ] .
                ^ HttpResponse fromStream: img readStream contentType:  'image/jpeg'  ].
    			
            ^ self process: aRequest
    Styl pak vypadá takto:
    style
    
    	^ ' 
    body { background-image: url("/seaside/balloon.jpg"); }
    '
  • 26. 12. 2006 21:00

    miner (neregistrovaný)
    myslím si, že CSS by měly být spíše vkládány z externích souborů, a, pokud to není nutné (což většinou není), negenerovány skripty. Dyzajnér pak může jednoduše editovat soubor s CSS a nemusí se vůbec zabývat Smalltalkem. Javascript by měl být vázán na elementy nevtíravě - tedy jenom registrovat listenery - rozhodně by neměly být vkládány inline skripty přímo do onmouseover akcí - krom toho, že zvětšují kód, zvyšují jeho nepřehlednost. Navíc je účelné oddělit kód Smalltalku od client-side kódu javascriptu, který může být uložen také v externích souborech, a editován nezávisle. Hodně zajímavá je myšlenka Smalltalk - JavaScript kompilátoru - neb oba jsou jazyky dynamické, a syntaxi Smalltalku lze převést na syntaxi Javascriptu, jak je rozebráno např. zde.