윈도우 XP 에 네트워크 수준 인증을 활성화하여 원격 데스크탑 접속

이 기능은 윈도우 XP 이여야 하며 서비스 팩이 3으로 되어 있어야 한다.
또한 원격 데스크탑 버전이 6.0 이상이어야 하며 만약 비스타(2008) 이상의 컴퓨터에 접속할 일이 없으면 이 기능은 필요없다.
그리고 윈도우 7(2008 R2) 서비스팩 1인 경우 원격 데스크탑 서버가 7.x 로 올라가기 때문에 XP에서도 7.x 대로 맞춰주면 에어로 활성화 및 RemoteApp 등의 기능이 재대로 동작된다.

여태까지 레지스트리 편집기로 고생해서 활성화했는가?
이제 그만하고 이 파일만 실행하면 고민 끝난다.

cfile22.uf.1402913D4E65CFF81F2174.7z
압축 풀면 vbs 파일이 하나 나오는데, 한번 실행 한번 해주면 네트워크 수준 인증이 끝난다.
단, 재시작을 해야 적용된다는건 당연한 상식.

스크립트 출처는 http://pcloadletter.co.uk/2010/09/07/enabling-nla-on-xp/ 이므로 라이센스는 해당 저작권자에게 있다.
한글화는 내가 했다. 불펌하지마라. 티난다.

composite / 2011년 9월 6일 / 미분류 / 0 Comments

윈도우 7 절전모드가 자꾸 깨어날때 대처법

윈도우7를 사용하면서 절전모드(S3) 혹은 최대절전모드(S4) 상태로 전원관리를 하면서 전원을 끌 경우 아무 이유없이 컴퓨터가 자동으로 켜지는 경우가 나타날수 있습니다
 

이것은 윈도우7에 존재하는 시간제한 이벤트로 인해 발생하는 문제입니다.

시간제한이벤트가 발생하면 절전모드에서 자동으로 컴퓨터가 깨어난다는 말입니다.

 

따라서 절전모드나 최대절전모드로 들어간 컴퓨터를 사용자가 수동으로만 전원을 켜기를 원할 경우(즉 사용자가 직접 전원버튼을 눌려 켜기를 원할 경우)에는 아래와 같이 해야 합니다.

 

제어판-전원옵션을 클릭하고 활성화된 전원구성으로 들어가서

아래와 같이 절전 모드 해제 타이머 허용사용안함 으로 바꾸어야 합니다.

 


 * 이 설정대로 해도 WOL기능은 정상 작동합니다.  

윈도우7이 설치된 컴퓨터에서 절전모드로 들어간 컴퓨터가 아무 이유없이 불특정하게 컴퓨터가 켜지는 이유는 이것 때문입니다.

composite / 2011년 9월 3일 / 미분류 / 0 Comments

윈도우 7 작업표시줄 허무팁

라이센스 : 불펌 절대 불허용. 펌하고 싶으면 댓글에 사이트 대도록. 불펌하다 걸리면 강냉이 털린데이.
­</span><br />
<div style="text-align: left;">
일단 윈도우 7에서 작업 표시줄에서, 대부분의 프로그램에서 오른쪽 마우스를 클릭하면 이런 메뉴가 나온다.<span style="color: rgb(86, 86, 86);">

­

­`

진짜 별거 없다. 작업 표시줄에 고정 외에는. 이전 크기라던가, 최대화나 최소화 등의 예전 기능에 익숙하고, 이런 기능을 원하는 사람들이 있을 것이다.`

이럴땐 간단하다. 오른쪽 마우스 클릭 전에 shift 키를 누르고 있는 다음에 오른쪽 마우스 클릭하면`

­`

­`

이렇게 옛날식 오른쪽 마우스 메뉴가 나타날 것이다.`

그렇다면, 여러 창으로 띄운 프로그램에 shift+오른쪽 마우스를 실행하면 어떻게 되냐면,`

­`

`
이렇게 나온다. 잘 알아두시라.`
근데 듀얼 모니터 쓰는 사람 중에 Ultramon 쓰는 사람들은 세컨 모니터의 작업 표시줄에서 옛날식 오른쪽 마우스 메뉴가 나와서 조금 불편하다고 느끼는 분들 많을 것이다. 근데 그건 그 프로그램의 한계다. 한계인지 윈도우에서 막았는지는 모르겠지만.`
`

composite / 2011년 8월 18일 / 미분류 / 0 Comments

Qt 컴파일 안됨?

친구가 Qt 컴파일 안된단다.
그래서 로그를 보내줬더니 내용은 이렇댄다.

This is the Qt for Windows Open Source Edition.

You have already accepted the terms of the license.

Environment:
    INCLUDE=
      C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE
      C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE
      C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include

      C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
    LIB=
      C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\LIB
      C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ATLMFC\LIB
      C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib

      C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib
    PATH=
      C:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\Deploy
      C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\
      C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN
      C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools
      C:\Windows\Microsoft.NET\Framework\v4.0.30319
      C:\Windows\Microsoft.NET\Framework\v3.5
      C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\VCPackages
      C:\Program Files (x86)\HTML Help Workshop
      C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools
      C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin
      C:\Perl64\site\bin
      C:\Perl64\bin
      C:\Program Files (x86)\AMD APP\bin\x86_64
      C:\Program Files (x86)\AMD APP\bin\x86
      C:\Windows\system32
      C:\Windows
      C:\Windows\System32\Wbem
      C:\Windows\System32\WindowsPowerShell\v1.0\
      C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static
      C:\Program Files (x86)\QuickTime\QTSystem\
      C:\Program Files\TortoiseSVN\bin
      C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\
      E:\Projects\Qt\4.7.3×86
      E:\Projects\Qt\4.7.3×86\bin
You are licensed to use this software under the terms of the GNU GPL version 3.Y
ou are licensed to use this software under the terms of the Lesser GNU LGPL vers
ion 2.1.
See E:/Projects/Qt/4.7.3×863

 or E:/Projects/Qt/4.7.3x86L

Configuration:
    minimal-config
    small-config
    medium-config
    large-config
    full-config
    build_all
    debug
Qt Configuration:
    release
    debug
    zlib
    png
    accessibility
    opengl
    s60
    ipv6
    xmlpatterns
    phonon
    phonon-backend
    multimedia
    audio-backend
    native-gestures
    svg
    minimal-config
    small-config
    medium-config
    large-config
    full-config

QMAKESPEC……………….win32-msvc2010 (commandline)
Architecture…………….windows
Maketool………………..nmake
Debug symbols……………yes
Link Time Code Generation…yes
Accessibility support…….yes
STL support……………..yes
Exception support………..yes
RTTI support…………….yes
MMX support……………..yes
3DNOW support……………yes
SSE support……………..yes
SSE2 support…………….yes
IWMMXT support…………..no
OpenGL support…………..yes
OpenVG support…………..no
OpenSSL support………….no
QtDBus support…………..no
QtXmlPatterns support…….yes
Phonon support…………..yes
QtMultimedia support……..yes
WebKit support…………..no
Declarative support………no
Declarative debugging…….yes
QtScript support…………no
QtScriptTools support…….no
Graphics System………….raster
Qt3 compatibility………..no

Third Party Libraries:
    ZLIB support…………qt
    GIF support………….plugin
    TIFF support…………plugin
    JPEG support…………plugin
    PNG support………….yes
    MNG support………….plugin
    FreeType support……..no

Styles:
    Windows……………..yes
    Windows XP…………..yes
    Windows Vista………..yes
    Plastique……………yes
    Cleanlooks…………..yes
    Motif……………….yes
    CDE…………………yes
    Windows CE…………..no
    Windows Mobile……….no
    S60…………………no

Sql Drivers:
    ODBC………………..no
    MySQL……………….no
    OCI…………………no
    PostgreSQL…………..no
    TDS…………………no
    DB2…………………no
    SQLite………………yes (qt)
    SQLite2……………..no
    InterBase……………no

Sources are in…………..E:\Projects\Qt\4.7.3×86
Build is done in…………E:\Projects\Qt\4.7.3×86
Install prefix…………..E:\Projects\Qt\4.7.3×86
Headers installed to……..E:\Projects\Qt\4.7.3×86\include
Libraries installed to……E:\Projects\Qt\4.7.3×86\lib
Plugins installed to……..E:\Projects\Qt\4.7.3×86\plugins
Imports installed to……..E:\Projects\Qt\4.7.3×86\imports
Binaries installed to…….E:\Projects\Qt\4.7.3×86\bin
Docs installed to………..E:\Projects\Qt\4.7.3×86\doc
Data installed to………..E:\Projects\Qt\4.7.3×86
Translations installed to…E:\Projects\Qt\4.7.3×86\translations
Examples installed to…….E:\Projects\Qt\4.7.3×86\examples
Demos installed to……….E:\Projects\Qt\4.7.3×86\demos

Creating qmake…

Microsoft(R) Program Maintenance Utility 버전 10.00.30319.01
Copyright (c) Microsoft Corporation. 모든 권리 보유.

        cl -c -Fo./  -W3 -nologo -O2  /MP  -I. -Igenerators -Igenerators\unix -I
generators\win32 -Igenerators\mac -Igenerators\symbian  -IE:\Projects\Qt\4.7.3×8
6\include -IE:\Projects\Qt\4.7.3×86\include\QtCore  -IE:\Projects\Qt\4.7.3×86\in
clude -IE:\Projects\Qt\4.7.3×86\include\QtCore  -IE:\Projects\Qt\4.7.3×86\src\co
relib\global  -IE:\Projects\Qt\4.7.3×86\src\corelib\xml  -IE:\Projects\Qt\4.7.3x
86\mkspecs\win32-msvc2010   -IE:\Projects\Qt\4.7.3×86\tools\shared  -DQT_NO_TEXT
CODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NODLL -DQT_NO_STL  -DQT_NO_
COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP -DQT_BUILD_QMAKE -DQT_NO_THREAD  -DQT_NO_Q
OBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM -DQT_NO_PCRE -DQT_BOOTSTRAPPED  –
DQLIBRARYINFO_EPOCROOT -c -Yc -Fpqmake_pch.pch -TP qmake_pch.h
qmake_pch.h
E:\Projects\Qt\4.7.3×86\include\QtCore/qconfig.h(1) : fatal error C1083: 포함 파
일을 열 수 없습니다. ‘../../src/corelib/global/qconfig.h’: No such file or direc
tory
NMAKE : fatal error U1077: ‘”C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\cl.EXE”‘ : ‘0x2’ 반환 코드입니다.
Stop.

Microsoft(R) Program Maintenance Utility 버전 10.00.30319.01
Copyright (c) Microsoft Corporation. 모든 권리 보유.

        del qbitarray.obj  qbuffer.obj  qcryptographichash.obj  qfsfileengine.ob
j  qfsfileengine_iterator.obj  qbytearray.obj  qvsnprintf.obj  qbytearraymatcher
.obj  qdatetime.obj  qdir.obj  qdiriterator.obj  qfile.obj  qtemporaryfile.obj
qabstractfileengine.obj  qfsfileengine_win.obj  qsystemlibrary.obj  qfsfileengin
e_iterator_win.obj  qfileinfo.obj  qglobal.obj  qhash.obj  qiodevice.obj  qlist.
obj  qlinkedlist.obj  qlocale.obj  qmalloc.obj  qmap.obj  qregexp.obj  qtextcode
c.obj  qutfcodec.obj  qstring.obj  qstringlist.obj  qtextstream.obj  qdatastream
.obj  quuid.obj  qvector.obj  qsettings.obj  qlibraryinfo.obj  qvariant.obj  qur
l.obj  qsettings_win.obj  qmetatype.obj  qxmlstream.obj  qxmlutils.obj  qnumeric
.obj
E:\Projects\Qt\4.7.3×86\qmake\qbitarray.obj을(를) 찾을 수 없습니다.
        del project.obj main.obj makefile.obj unixmake.obj unixmake2.obj mingw_m
ake.obj  option.obj winmakefile.obj projectgenerator.obj property.obj meta.obj
makefiledeps.obj metamakefile.obj xmloutput.obj pbuilder_pbx.obj  borland_bmake.
obj msvc_nmake.obj msvc_vcproj.obj msvc_vcxproj.obj  msvc_objectmodel.obj msbuil
d_objectmodel.obj symmake.obj initprojectdeploy_symbian.obj  symmake_abld.obj sy
mmake_sbsv2.obj symbiancommon.obj registry.obj epocroot.obj
E:\Projects\Qt\4.7.3×86\qmake\project.obj을(를) 찾을 수 없습니다.
        del qmake_pch.obj
E:\Projects\Qt\4.7.3×86\qmake\qmake_pch.obj을(를) 찾을 수 없습니다.
        del qmake_pch.pch
E:\Projects\Qt\4.7.3×86\qmake\qmake_pch.pch을(를) 찾을 수 없습니다.
        del qsystemlibrary.obj
E:\Projects\Qt\4.7.3×86\qmake\qsystemlibrary.obj을(를) 찾을 수 없습니다.
        del vc60.pdb
E:\Projects\Qt\4.7.3×86\qmake\vc60.pdb을(를) 찾을 수 없습니다.
        del vc70.pdb
E:\Projects\Qt\4.7.3×86\qmake\vc70.pdb을(를) 찾을 수 없습니다.
        del qmake.pdb
E:\Projects\Qt\4.7.3×86\qmake\qmake.pdb을(를) 찾을 수 없습니다.
        del qmake.ilk
E:\Projects\Qt\4.7.3×86\qmake\qmake.ilk을(를) 찾을 수 없습니다.
        del qmake.tds
E:\Projects\Qt\4.7.3×86\qmake\qmake.tds을(를) 찾을 수 없습니다.

Microsoft(R) Program Maintenance Utility 버전 10.00.30319.01
Copyright (c) Microsoft Corporation. 모든 권리 보유.

        cl -c -Fo./  -W3 -nologo -O2  /MP  -I. -Igenerators -Igenerators\unix -I
generators\win32 -Igenerators\mac -Igenerators\symbian  -IE:\Projects\Qt\4.7.3×8
6\include -IE:\Projects\Qt\4.7.3×86\include\QtCore  -IE:\Projects\Qt\4.7.3×86\in
clude -IE:\Projects\Qt\4.7.3×86\include\QtCore  -IE:\Projects\Qt\4.7.3×86\src\co
relib\global  -IE:\Projects\Qt\4.7.3×86\src\corelib\xml  -IE:\Projects\Qt\4.7.3x
86\mkspecs\win32-msvc2010   -IE:\Projects\Qt\4.7.3×86\tools\shared  -DQT_NO_TEXT
CODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NODLL -DQT_NO_STL  -DQT_NO_
COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP -DQT_BUILD_QMAKE -DQT_NO_THREAD  -DQT_NO_Q
OBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM -DQT_NO_PCRE -DQT_BOOTSTRAPPED  –
DQLIBRARYINFO_EPOCROOT -c -Yc -Fpqmake_pch.pch -TP qmake_pch.h
qmake_pch.h
E:\Projects\Qt\4.7.3×86\include\QtCore/qconfig.h(1) : fatal error C1083: 포함 파
일을 열 수 없습니다. ‘../../src/corelib/global/qconfig.h’: No such file or direc
tory
NMAKE : fatal error U1077: ‘”C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\cl.EXE”‘ : ‘0x2’ 반환 코드입니다.
Stop.
Building qmake failed, return code 2

뭐 어쩌라는거지.. configure 실행파일에서 qconfig.h 를 생성 못한 모양이다. 이거 난감해서 답변은 안줬다. 알아서 찾으라고.
윈도우 7 64비트, VS2010 프로페셔널, Qt 4.7.3 이랜다. VS2010 쓴게 왠지 실수같이 느껴지는듯.ㅋㅋㅋㅋㅋ

composite / 2011년 8월 3일 / 미분류 / 0 Comments

IE 감지 스크립트 (IE9포함)

기존에는 ‘v’==’\v’ 썼었다.
하지만 IE가 9로 업그레이드 되면서 스크립트 엔진이 윈도우 스크립팅 엔진으로부터 완전히 분리되어 자체적인 엔진으로 나가기 시작했다. 덕분에 속도도 확실히 빨라졌다.
대신 더이상 ‘v’==’\v’ 논리식은 통하지 않게 되었다.
만약 IE8까지 감지하겠다 하면 기존 걸 쓰고, 아예 IE인지 감지하려면 이렇게 하면 된다.

(!+"\v1") === true

이 논리식은 IE 5.5 버전 이상에서 잘 인식하는 고마운 스크립트이므로 잘 알아두시길.

composite / 2011년 7월 26일 / 미분류 / 0 Comments

composite / 2011년 4월 17일 / 미분류 / 0 Comments

composite / 2011년 4월 9일 / 미분류 / 1 Comment

골때리는 자바스크립트의 세계 외전

  1. “string” instanceof String

    결과 : false

  2. [] == false;

    결과 : true

  3. “” == false;

    결과 : true

  4. null == false;

    결과 : false

  5. typeof null

    결과 : object

    뭬야? null도 object의 자손인게냐?

  6. null === Object

    결과 : false

    아버지를 아버지라 부르지 못하고,

    어머니를 어머니라 부르지 못하는 null.

  7. parseInt(’06’); //결과는 6

        parseInt(’08’); // 결과는 0?

    08를 8진수로 착각하는게 아니라 원래 약속이 그렇죠. 08은 곧 8진수니 8은 곶아가 됩니다. 당연한 결과죠.

  8. Number.MIN_VALUE > 0;

    결과 : false

    .. 무슨 십장생이 시베리아벌판에서 귤이나까는 결과가 나오는거지…

    MIN_VALUE 속성은 숫자 중 표현할 수 있는 가장 작은 값을 나타내는 상수입니다.

    근데.. 0보다 크다고? 앙?

  9. typeof NaN

    결과 : number

    숫자가 아닌녀석을 나타내는 상수인데 숫자가 아니면 숫자를 어떻게 찾겠는가?

  10. alert(111111111111111111111);

    결과 : 경고창에 111111111111111110000 이 나옴. 읭?

  11. (function(){ if(false) var window; return window }()) === window

    결과 : false

  12. (“foo” + + “bar”) === “fooNaN”

    결과 : true

    일단 먼저 + 사이에 아무것도 안들어가도 에러안나는게 신기.

  13. NaN === NaN

    결과 : false

    ………….할말이 없습니다.

  14. (x=[].reverse)() === window

    결과 : true

    …ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ


  15. NaN === ‘number’ // true

    Infinity === 1/0 // true

    0.1 + 0.2 === 0.3 // false

    1, 2 은 이해가 가는데 세번째는 뭥미?

    출처 : http://wtfjs.com/ 에서 자바스크립트의 개떡같은 결과가 커뮤니티를 통해 기재됩니다.

    제가 발견한 추가사항

  16. Number.MAX_VALUE instanceof Number

    결과 : false

    왜그럴까요?

composite / 2010년 12월 13일 / 미분류 / 0 Comments

골때리는 자바스크립트의 세계 번외편

자.. 5탄에 너무 어려워 골때리다는 분이 많아서 오늘은 그냥 번외를 준비했습니다.

오늘은 좀 재밌는 걸 준비했는데요.

자.. 먼저 이걸 보시죠.

mypage.html?page=write&where=isit

음.. 그냥 URL이죠. 그리고 ? 뒤에 질의문이 들어가있죠. 쿼리스트링이라 하지만 우리말로 하면 질의문이잖아요..ㅋㅋㅋㅋ

뭐.. 이걸 서버사이드에선 어떻게 처리할까요?

먼저 PHP요~

$_GET[‘page’];

ASP(.net)요~

VB:

Request.QueryString(“page”)

C#,JScript,J#…:

Request.QueryString[“page”]

JSP요~

…안해봐서.. 댓글로 참조부탁요.

그외에도 CF,Mac,Perl,CGI등등등.. 다채롭죠.

그렇다고 질의문을 내맘대로 꾸미고 싶다. 질의문 전체를 참조하려면 어떻게 해야합니까?

PHP요~

$_SERVER[‘QUERY_STRING’];

ASP(.net)요~

VB:

Request.ServerVariables(“QUERY_STRING”)

C#,JScript,J#…:

Request.ServerVariables[“QUERY_STRING”]

JSP요~

…………………몰라요.

이상 서버단이었습니다.

근데 자바스크립트 강좌인데 왜 난데없이 질의문 가지고 난리입니까?

오늘은 자바스크립트로 질의문 다루는 걸 하겠다는겁니다.

헐..자스도 질의문 다루는 기능이 있습니까?????????????????????????

아뇨. 없어요..자체적으론 없습니다..ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

하지만 URL을 가공해서 처리는 할 수 있습니다.

location 객체. 음.. URL을 얻어올때 주로 쓰는 객체이죠. 네..

이 location에 href 속성으로 전체 URL을 얻어올 수 있죠? 파일명부터 질의문까지.

근데.. 이걸 가공하기엔 좀 귀찮고.. 하지만 하늘은 우릴 버리지 않으셧습니다.

앵커를 참조하라고 location 객체에 search 속성을 내려주셨습니다.

이 속성에는 # 뒤에 들어간 앵커. 우리말로하면 책갈피를 보여주지만 ?을 붙인 그 뒤에 질의문도 보여주는 친절함을 선보이고 있죠.

결국 location.search는 server variables의 query_string인 셈이죠.

이제 이걸 다룰 줄 알면 오늘 골때리는 강좌는 여기서 끝입니다…

자.. 먼저, search 속성의 ?부터 제거해보기로 합시다.

var qs=location.search.replace(‘?’,”);

자스의 replace는 기본적으로 정규식의 global 속성을 주지 않는 이상 첫번째 단어만 검색하면 그걸 대체하고 끝내버리는 속성이 있습니다. 하지만 서버단의 replace는 그 반대죠.

어쨌든 substring을 쓰던 replace를 쓰던 ?을 제거하면 일단 질의문을 가공할 준비는 끝입니다. 어떻게 가공할건지는 여러분의 자유에 맡기겠지만, 저는 split을 통해 그냥 쉽게 처리할 생각입니다.

먼저 &가 들어간 단어를 기준점으로 문자를 나눕니다.

qs=qs.split(‘&’);

이렇게 되면 질의문의 갯수만큼 나눠지겠죠. 단순히 &만 나누기때문에 &남용하면 물론 & 갯수만큼
나눠지겠지만 그건 큰 문제가 없습니다. 키=값 쌍만 있는넘만 등록하게 하면 되니까요. 그런다음에 = 기준으로 키=값을 분리해서
왼쪽은 키, 오른쪽은 값 이런식으로 하면 되죠. 그다지 어렵지는 않죠?

split 써도 되고. 정규식씨를 섭외해도 되고… 여러분이 원하는 방식으로 가공해서 처리하면 됩니다. 어때요. 쉽죠?

이렇게해서 querystring 값을 받아오는 함수는 다음과 같습니다.

function getQueryString(key){

  var qs=location.search.replace(‘?’,”);

  if(!key) return qs;

  qs=qs.split(‘&’);

  var qsr=”;

  for(i=0;i<qs.length;i++){

    if(!!qs[i]&&qs[i].indexOf(‘=’)>-1){

      var qv=qs[i].split(‘=’);

      if(qv[0]==key) qsr+=qv[1]+’|’;

    }

  }

  qsr=qsr.replace(/|$/,”);

  return qsr.indexOf(‘|’)>-1?qsr.split(‘|’):qsr;

}

만약 하나만 나오면 하나나온 값 문자열을, 복수면 배열로 리턴하게 친절하게 꾸몄습니다.

저 잘했죠?

만약 location과 같이 기억해두고싶다면 Location.queryString을 만들고 내용을 저걸로 집어넣어도 무관합니다.

만약 RewriteMod와 같이 쓰고 싶다면 자스는 ReWrite와 무관하게 URL을 수집하기 때문에 그에 맞게 꾸미면 되겠습니다.

오늘은 그냥 골때리다기보기엔 그냥 그렇다 하겠지만 자스로도 질의문을 받아 처리할 수 있다는 사실에 오늘 재밌는 감동을 얻었군요.

번외편은 여기까지구요. 다음엔 약속대로 골때려서 돌아가시게 해드리겠습니다.

각오하고 그럼 즐코딩하셈.

아참, 덧붙여서 검색창에 js querystring 쳐보셈. 즐비하게 나오는 팁입니다..

composite / 2010년 12월 13일 / 미분류 / 0 Comments