var test = [0,1,2,3,4,5,6];


test.splice(2,1);


console.log(test);


결과 : [0,1,3,4,5,6]


만약 제외한 항목을 담고 싶을때는


var test = [0,1,2,3,4,5,6];


test = test.splice(2,1);


console.log(test);


결과 : [2]


제외되는 값이 리턴이 됩니다.

우선 json array 객체를 만들어 줍니다.

var test = [

{

"order":"10"

, "name":"aaa"

, "point":"555"

}

,{

"order":"4"

, "name":"bbb"

, "point":"222"

}

,{

"order":"8"

, "name":"ccc"

, "point":"999"

}

];


console.log("sort 전 : ", test);


test.sort(function(a,b) {

return parseFloat(a.order) - parseFloat(b.order);

});


console.log("sort 후 : ", test);


order는 key

b - a 는 내림차순 a - b 는 오름차순 입니다.


console.log(document); 메시지를 표시한다.
console.debug(document); console.log와 동일하다.
console.warn(document); "경고" 아이콘과 같이 메시지를 표시한다.
console.error(document); "오류" 아이콘과 같이 메시지를 표시한다.
console.info(document); "정보" 아이콘과 같이 메시지를 표시한다.
console.dir(document); 개체의 속성이 표시된다.
console.trace(1, 2, 3); 호출 스택을 표시한다.
console.assert('test'.length < 2, "length >= 2"); 데이터 확인도 가능하다.
console.count('count_test'); "count_test"가 호출된 수만큼 증가된 숫자가 표시된다.
console.time('time_test'); console.time호출 시점부터 console.timeEnd 호출 시점까지 경과 시간을 표시한다.
console.timeEnd('time_test'); console.time과 같이 한쌍이며 time_test 인자는 동일해야 한다.
console.profile('profile_test'); console.profile호출 시점부터 console.profileEnd 호출 시점까지 프로파일링 리포트를 표시한다.
console.profileEnd('profile_test'); console.profile과 같이 한쌍이며 profile_test 인자는 동일해야 한다.
console.group('group_test'); console.group호출 시점부터 console.groupEnd 호출 시점까지 그룹핑한다.
console.groupCollapsed('group_test2'); console.groupCollapsed호출 시점부터 console.groupEnd 호출 시점까지 그룹핑한다.단 닫혀진 상태로 표시된다.
console.groupEnd(); console.group 혹은 console.groupCollapsed과 같이 한쌍이며 인자는 없다.
var names={0:{first:"John",last:"Smith"}}; console.table(names); 테이블 형태로 표시한다.(주의: 크롬, 파이어폭스만 지원됨.)



console log 꾸미기


// 간단한 샘플 코드

// 샘플 코드 1

console.log('%cBlue! %cRed!', 'color: blue;', 'color: red;');

// 샘플 코드 2

console.log("%o, %O", document.body, document.body);

// 샘플 코드 3

console.log("%c%s에  %d번째 방문자입니다.", "background: #D26187; color: white; font-size: 20px;", 'Blog', 90000);


출처 : http://blog.gaerae.com/2015/06/chrome-firefox-safari-ie11-developer-tool.html

간단한 오늘 날짜 구하는 스크립트 입니다.


1.

//현재년월일

var newDate = new Date();

var yyyy = newDate.getFullYear();

var mm = newDate.getMonth()+1;

var dd = newDate.getDate();

if(mm < 10){

mm = "0"+mm;

}

if(dd < 10){

dd = "0"+dd;

}

var today = yyyy + "-" + mm + "-" + dd;


2.

new Date().print("yyyy-mm-dd");


3.

//하루전 구하기

var oldDate = new Date('2017-07-21').add(-1).print("yyyy-mm-dd");

특정 문자열의 갯수를 확인 할수 있는 코드입니다.

match함수를 써서 확인 할수 있습니다.


var a = "가나-다라-마사-아자-차카-타파-"; 

var results = a.match(/-/g); 

if(results != null) {

console.log(results.length); // - 의 갯수를 알 수 있다.

}


자주 사용하진 않지만 가끔 필요하네요.^^

IE에서 ActiveX 설치여부 확인하기(ActiveXObject를 이용하여)

언어/JavaScript  2012/10/25 16:51 

 

 


정의

ActiveXObject 개체

(Internet Explorer 에서만 적용된다.)

 

사용

 

var axObj = new ActiveXObject(progid);


var axObj = new ActiveXObject(servername.typename[, location]);


와 같은 방법으로 사용한다.

 

인자로 주어지는 값은 레지스트리에서 확인가능하다.

일단 제공되는 CLSID는 알고 있을것이다.

만약 모른다면,


 

IE의 추가 기능 관리에서 확인할 수 있다.

그래도 모르겠다면 벤더에 문의하면 된다.

 

찾은 CLSID로 REGEDIT에서 검색하면 아래와 같이 나온다.

상위 폴더이름이 ActiveXObject의 인자로 주어지는 progid이다.

(HKEY_CLASSES_ROOT 하위의 CLSID에서 찾으면 progid의 값이 나온다.

CLSID 폴더에 없는 경우가 있으니, 이 때는 클래스아이디로 검색해서 나오는 폴더명을 참조한다.

폴더명 뒤의 .1 은 버전이니 생략해도 된다.)

 

 

예제

 

function check(name, progid){


        var installed;

        var msg;

        try {


               var axObj = new ActiveXObject(progid);

              if(axObj){

                       installed = true;

               } else {

                       installed = false;

               }

        } catch (e) {

               installed = false;

        }


        if(installed) {

               msg = '설치됨';

        } else {

               msg = name + ' 미설치';

        }    

        return '<b>' + msg + '</b><br>';

}    

document.write(check('Adobe PDF Link Helper','AcroIEHelperShim.AcroIEHelperShimObj'));

 

간단하게 IE의 개발자 도구에서 확인할 수 있다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">


<HTML>


<HEAD>


  <TITLE>  </TITLE>


</HEAD>


<SCRIPT LANGUAGE="JavaScript">


<!--


function GetParameter() {


    var strURL = location.search; 


    var tmpParam = strURL.substring(1).split("&");




    if (strURL.substring(1).length > 0)


    {


        var Params = new Array;


        for (i=0;i< tmpParam.length ; i++)


        {


            Params = tmpParam[i].split("=");




            alert("Params_Name = "+Params[0]);


            alert("Params_Value = "+Params[1]);


        } //for


    } //if


} //function




//함수 호출


GetParameter()


//-->


</SCRIPT>


<BODY>


  <a href="?a=1&b=1">1</a>


  <a href="?a=2&b=2">2</a>


  <a href="?a=3&b=3">3</a>


  <a href="?a=4&b=4">4</a>


  <a href="?a=5&b=5">5</a>


</BODY>


</HTML>

function sendSNS(media) {

switch(media) {

case "tw":

sendUrl = "http://twitter.com/share?url="+$("#url").val()+"&count=none&text="+$("#title").val();

window.open(sendUrl,'트위터공유하기','width=600, height=400, toolbar=no, status=no,scrollbars=yes, resizable=no, top=0, left=0');

break;

case "fa":

sendUrl = "http://www.facebook.com/sharer.php?s=100&p[url]="+$("#url").val()+"&p[title]="+$("#title").val(); 

window.open(sendUrl,'페이스북공유하기', 'width=1024, height=600, toolbar=no, status=no,scrollbars=yes, resizable=no, top=0, left=0');

break; 

}


자바스크립트에서 replaceAll 은 없다. 

정규식을 이용하여 대상 스트링에서 모든 부분을 수정해줄 수 있다. 

ex) 

str.replace("#",""); -> #를 공백으로 변경한다. 

하지만 첫번째 # 만 공백으로 변경하고 나머지는 변경이 되지 않는다. 

str.replace(/#/gi, ""); -> #를 감싼 따옴표를 슬래시로 대체하고 뒤에 gi 를 붙이면 

replaceAll 과 같은 결과를 볼 수 있다.

common.js
$(document).ready(function (){ 
    $.i18n.init({ 
        resGetPath: '/locales/__lng__.json', 
        load: 'unspecific', 
        fallbackLng: false, 
        lng: 'ko' 
    }, function (t){ 
        $('#tabContainer').i18n(); 
        $('#side-menu').i18n(); 
        $('.navbar-top-links').i18n(); 
    }); 

    $('.set_en').on('click', function (){ 
        i18n.setLng('en', function(){ 
            $('#tabContainer').i18n(); 
            $('#side-menu').i18n(); 
            $('.navbar-top-links').i18n(); 

            $('.set_en').addClass('active'); 
            $('.set_ko').removeClass('active'); 
        }); 
    }); 

    $('.set_ko').on('click', function (){ 
        i18n.setLng('ko', function(){ 
            $('#tabContainer').i18n(); 
            $('#side-menu').i18n(); 
            $('.navbar-top-links').i18n(); 

            $('.set_ko').addClass('active'); 
            $('.set_en').removeClass('active'); 
        }); 
    }); 
});

resGetPath - json 이 있는 위치 경로만 맞춰주면 그안에 모든 json을 인식
괜히 저기다가 /locales/ko.json 쓰지 마시길.......
$('#tabContainer').i18n();   이건 변환할 태그 ID  
메뉴 이동시 호출해주면됩니다.
귀찮으면 body에 ID주고 그걸로 걸어버리는것도 방법
--------------------------------------------------------------------------------------
html
버튼추가
<div class="row" style="float:right; margin-right:50px;"> 
    <a class="btn btn-white set_ko"> <img src="/img/South-Korea.png">KOR</a> 
    <a class="btn btn-white set_en"> <img src="/img/United-States.png">EN</a> 
</div>

변경할 태그에 data-i18n="json지정이름"
<span class="nav-label" data-i18n="nav.prjtList">프로젝트현황</span>
<span class="nav-label" data-i18n="nav.prjtJoin">프로젝트생성</span>

<script src="https://cdnjs.cloudflare.com/ajax/libs/i18next/1.9.0/i18next.min.js" type="text/javascript"></script>


-------------------------------------------------------------------------------------
en.json
{
    "app":{
        "name": "INSPINIA 2.4"
    },
    "nav":{
        "prjtManager": "project Manager",
        "prjtList": "project List",
        "prjtJoin": "project Join",
    },
    "prjt":{
        "prjtList": "project List",
        "prjtJoin": "project Join"
    }
}

ko.json
{
    "app": {
        "name": "INSPINIA 2.4"
    },
    "nav": {
        "prjtManager": "프로젝트 관리",
        "prjtList": "프로젝트 현황",
        "prjtJoin": "프로젝트 생성"
    },
    "prjt":{
        "prjtList": "프로젝트 현황", 
        "prjtJoin": "프로젝트 생성"
    }
}

json 만들어서 필요한 카테고리 구분하고 불러다 쓰시면 됩니다.

저도 오늘 겨우 성공한거라...

더 좋은 방법 있으시면 공유좀....ㅠ_ㅠ

+ Recent posts