어제 구글 크롬 때문에 온 블로그가 떠들썩했고,
저뿐만이 아닌 많은 개발자 및 관심자들이 V8에 상당한 매력과 흥미를 느꼇습니다.
이에 모질라에서 질투(?)를 느꼇는지 바로 TraceMonkey(이하 TM)과 V8을 비교를 해서 올렸네요.

어제까지만 해도 "세계 2차 브라우저 대전이 일어나겠구나" 라고 생각했는데..
저 포스팅을 보니 브라우저 전쟁도 전쟁이지만 "엔진의 전쟁(Engine War)"이라고 생각이 드네요.

엔진들만 조합하면 새로운 브라우저가 탄생하는 시대가 도래했으니 말이죠.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim hiphapis

TRACKBACK http://hiphapis.net/trackback/142 관련글 쓰기

댓글을 달아 주세요

Js로 Style 을 Control 하는 경우가 많이 있습니다.
자연스럽게 색깔 설정에도 손의 많이 가고, 그러다 보면 컬러코드를 가지고 작업을 해야 할 때가 있습니다.
이 팁은 이런 상황에서 유용하게 사용 됩니다.

IE6, IE7, Opera 같은경우 컬러코드 그대로 반환을 해 줍니다.
예를들어,
<div id="Some" style="background-color:#ffff00">someElement</div>

<script type="text/javascript">
alert(document.getElementById("Some").style.backgroundColor);
</script>
일 경우 #ffff00을 반환합니다.

하지만 FireFox, Safari 는
rgb(255, 255, 0) 을 반환합니다.

이렇게 되면 브라우져 별로 색상정의가 틀려져서, 여기서는 되고 저기서는 에러나고 하는 상황이 연출이 됩니다.

이럴경우 rgb코드를 16진수 컬러코드로 바꿔주는 함수입니다.

var getRgbToHex = function(rgb_code){
    if(Reg.test(rgb_code)){
        tempColor = rgb_code.replace(Reg, "");
        tempLength = tempColor.length - 1;
        tempColor = tempColor.substr(0, tempLength);
        tempColor = tempColor.split(",");

        red = tempColor[0];
        green = tempColor[1];
        blue = tempColor[2];

        colorCode = "#" + rgb_hex(red) + rgb_hex(green) + rgb_hex(blue);

        return colorCode;
    }
    return rgb_code;
}

var rgb_hex = function(color)
{
    if(color==0){
        var color="00";
        return color;
    }
    else{
        var y=color/16;
        var y=y+"a";
        if (y.indexOf(".")==-1){
            var hex2="0";
            var u=y.indexOf("a");
            var q=y.substring(0,u);
            var hex1=hex_array[q];
        }
        else{
            var l=y.split(".");
            var q=l[0];
            var z=q*16;
            var xyz=color-z;
            var hex1=hex_array[q];
            var hex2=hex_array[xyz];
        }
        var color=hex1+hex2;
        return color;
    }
}

Converter 하는 부분은 http://www.csgnetwork.com/csgcolorsel6.html를 참고했습니다.
사용법은

<script type="text/javascript">
var getColorCode = function(ele){
    nowColor = document.getElementById(ele).style.color;
    colorCode = getRgbToHex(nowColor);
    alert(colorCode);
</script>

<div id="some" style="color:#FF0000">Element</div>
<input type="button" value="getElementColorCode" onclick="getColorCode('some')">


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim hiphapis

TRACKBACK http://hiphapis.net/trackback/40 관련글 쓰기

댓글을 달아 주세요

  1. iamSeeker 님께서, 정규식을 좀 더 활용하고, toString을 활용해서 훨신 간결한 코드를 만드셨습니다.
    http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=53584&page=&sfl=&stx=&spt=&page=&cwin=#c_53595

    2007/04/19 12:21 [ ADDR : EDIT/ DEL : REPLY ]


생기는대로 추가해야지..

Ver 1.0 (070122)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim hiphapis

TRACKBACK http://hiphapis.net/trackback/8 관련글 쓰기

댓글을 달아 주세요