레이블이 javascript인 게시물을 표시합니다. 모든 게시물 표시
레이블이 javascript인 게시물을 표시합니다. 모든 게시물 표시

2016년 1월 20일 수요일

자바스크립트 url 주소 가져오는 법[ bnw ]

url이
http://www.blogger.com:80/blogger/login?key=id
라고 하면

location.href : http://www.blogger.com:80/blogger/login?key=id
location.protocol : http:
location.hostname :  www.blogger.com
location.host :  www.blogger.com:80
location.pathname :  /blogger/login
location.search :  ?key=id

가 된다.

사이트에서 바로 체크하는 방법은

브라우저에서 F12를 눌러  개발자 도구를 연다.
Console 탭을 눌러 콘솔창을 실행한다.
원하는 자바스크립트 코드를 넣는다.
크롬에서 실행해 보았다.



2016년 1월 18일 월요일

모바일 웹으로 이동시키는 소스[bnw]

유저가 모바일을 통해 웹페이지에 접속시
자동적으로 모바일용 페이지로 연결시키는 소스

접속자 정보인 HTTP_USER_AGENT 안에 모바일 관련 내용이 있으면
모바일 페이지로 접속시키는 소스이다.

ASP 소스
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim mobile, n, strAgent
 
If (Len(Request.ServerVariables("HTTP_USER_AGENT"))=0Then
    strAgent = "NONE"
Else
    strAgent = Request.ServerVariables("HTTP_USER_AGENT")
End If
mobile = Array("iPhone""ipad""ipod""BlackBerry""Android""Windows CE""LG""MOT""SAMSUNG""SonyEricsson""Mobile","Symbian","Opera Mobi","Opera Mini","IEmobile","Mobile","lgtelecom","PPC")
 
Dim i
= 0
For Each n In mobile
    If (InStr(LCase(strAgent), LCase(n)) > 0Then
        response.redirect "http://m.co.kr"
        break
    End If
Next
 
cs

JavaScript 소스
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript" language="JavaScript">
    var mobileKeyWords = new Array('iPhone''iPod''BlackBerry''Android''Windows CE''Windows CE;''LG''MOT''SAMSUNG''SonyEricsson''Mobile''Symbian''Opera Mobi''Opera Mini''IEmobile');
    for (var word in mobileKeyWords){
        if (navigator.userAgent.match(mobileKeyWords[word]) != null){
            window.location.href = "http://m.co.kr";
            break;
        }
    }
</script>
 
 
cs

PHP 소스
1
2
3
4
5
6
7
8
9
10
11
12
13
<? php
    $mobileKeyWords = array ('iPhone''iPod''BlackBerry''Android''Windows CE''Windows CE;''LG''MOT''SAMSUNG''SonyEricsson''Mobile''Symbian''Opera Mobi''Opera Mini''IEmobile');
    for($i = 0 ; $i < count($mobileKeyWords) ; $i++)
    {
        if(strpos($_SERVER['HTTP_USER_AGENT'],$mobileKeyWords[$i]) == true)
        {
            header("Location: http://m.co.kr");
            exit;
        }
    }
?>
 
 
cs

2015년 12월 18일 금요일

자바스크립트 정렬코드 (2)

정렬코드를 위해 간단한 함수를 만들어 보았다.

stage_dt =[{stage:2, score:30},{stage:4, score:90},{stage:7, score:45}]
라고 한다면,

1. stage에 원하는 스테이지 값을 넣으면, 그 스테이지의 값을 리턴해준다.
2. stage값이 배열에 없다면, -로 넣어주어야 할 장소를 리턴한다.
3. stage값이 배열에 없고, 배열의 제일 처음에 넣어야 한다면 -1000을 리턴한다.
4. stage값이 배열에 없고, 배열의 제일 끝에 넣어야 한다면 -2000을 리턴한다.

string함수 중 하나인 splice를 써서 배열에 값을 추가해 주었다.

예제 소스는 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
var stage_dt =[{stage:2, score:30},{stage:4, score:90},{stage:7, score:45}]
var stage = 4;
var temp_u = {};
temp_u.stage = stage;
temp_u.score = 11;
var position = find_top_score(stage, stage_dt);
if(position < 0){
    if(position == -1000){
        stage_dt.splice(0,0, temp_u);
    }else if(position == -2000){
        stage_dt.splice(stage_dt.length,0, temp_u);
    }else{
        position = position*(-1);
        stage_dt.splice(position,0, temp_u);
    }
}else{
    stage_dt[position].score = temp_u.score;
}
function find_top_score(stage, stage_dt){
    
    var position = 0;
    var m_p_f = 0;
    
    var stages_size = stage_dt.length;
    
    if(stage >= stages_size){
        position = stages_size-1;
    }else{
        position = stage -1;
    }
    
    do{
        value = stage - stage_dt[position].stage;
        if(value == 0){
            return position;
        }else if(value < 0){
            if(position == 0){
                return -1000;
            }else if(m_p_f == 1){
                return ((position+1)*(-1));
            }else{
                position --;
                m_p_f = -1;
            }
        }else{
            if(position == stages_size-1){
                return -2000;
            }else if(m_p_f == -1 ){
                return (-1*(position+1));
            }else{
                position ++;
                m_p_f = 1;
            }
        }
    }while(true);
}
cs

2015년 10월 21일 수요일

[JavaScript]배열의 요소 삭제

배열의 중간 부분의 요소를 삭제하려면
splice메소드를 사용하면 된다.

요소의 넘버는 0부터가 시작인것을 주의하자


var array = [0,1,2,3,4,5,6];
array.splice(4,1);

// array의 5번째 요소가 삭제된다.
[0,1,2,3,5,6]


2015년 9월 28일 월요일

POST를 이용한 JSON송신

form의 post방식을 이용하여 json을 송신하는 소스이다.
서버쪽 코드는 아래와 같다.

router.post('/sameple_test', function  (req, res) {
    var data = req.body.data;
    console.log("data : " + data);
    var json = JSON.stringify(eval("(" + data + ")"));
    var d = JSON.parse(json);
   
    console.log("data.node : " + d.node);
    res.end();
});

sameple_test라는 주소로 보내게 되며, json변환을 위해
data 파라미터로 받아온 값은 json형이 아닌 string형이기 때문에
JSON.parse()전, json string형의 변환이 필요하여,
JSON.stringify(eval("(" + data + ")"))을 사용하였다.


클라이언트에서 보내는 json 문자열이다.




서버에 표시되는 화면이다.



2015년 9월 21일 월요일

자바스크립 정렬코드

자바스크립 정렬코드

 splice를 이용하여 .n순으로 정렬하고 n값이 같다면, s값이 큰값을 넣는다.

    var data_score = [];
    var s = "";
    var l = 0;
//기본 데이타 배열 만들기
    for(var i = 0; i < 10; i++){
        var unit = new Object;
        l += 2;
       
        unit.s = l;
        unit.n = l;
   
        data_score[i] = unit;
// 기본데이타 출력
        var str = "stage : " + data_score[i].n + ".. score : " + data_score[i].s;
       
        console.log(str);
    }
    console.log("-------------------------");
 
// 삽입할 데이타 만들기
    var unit_score = new Object;
    unit_score.n = 7;
    unit_score.s = 100;

// 데이타 삽입하기   
    var j = data_score.length;
    if(j == 0){
        data_score[j] = unit_score;
        j++;
    }else{
        for(var k = 1; k <= j; k++){
            if( data_score[j-k].n - unit_score.n > 0){
                if(k == j){
                    data_score.splice(0,0, unit_score);
                }     
            }else if(unit_score.n - data_score[j-k].n == 0){
                if(unit_score.s > data_score[j-k].s){
                    data_score[j-k].s = unit_score.s;
                   
                    break;
                }
            }else{
                data_score.splice(j-k+1,0, unit_score);
                break;
            }
        }
   
    }
//삽입되어진 결과물 출력   
    for(var i = 0; i < data_score.length; i++){
        var str = "stage : " + data_score[i].n + ".. score : " + data_score[i].s;
       
        console.log(str);
       
    }