Search Results for '프로그래밍/자바 스크립트'


100 posts related to '프로그래밍/자바 스크립트'

  1. 2008/06/04 ip 조회하는 스크립트
  2. 2008/06/04 다모임 - 플레이어 입니다(wmv) 1
  3. 2008/03/26 자바스크립트 라이브러리 요약
  4. 2007/11/22 [팁] 원하는 부분만 프린트하기.
  5. 2007/11/22 [팁] 소스훔쳐보기
  6. 2007/11/22 [소스] 문서내 이미지갯수 출력
  7. 2007/11/22 [소스] 폼 버튼을 클릭하면 경고 메세지 보내기
  8. 2007/11/22 [소스] 가짜 바이러스 경고 하는 스크립트
  9. 2007/11/22 [소스] 창을 열면 인사하는 간단한 스크립트
  10. 2007/11/22 [소스] 웹문서에 주소창 넣기 스크립트
  11. 2007/11/22 [소스] 이름을 물어보고 인사하는 스크립트
  12. 2007/11/22 [소스] 들어올때, 나갈때 지겹도록 인사하는 스크립트
  13. 2007/11/22 [소스] 들어올때나 나갈때나 인사는 착실히 해야죠..ㅋㅋㅋㅋ
  14. 2007/11/22 [소스] 마우스 커스 이동만으로 배경색상을 바꾸어보자
  15. 2007/11/22 [소스] 자바스크립트 버튼에 링크 걸기
  16. 2007/11/22 [소스] 다양한 자바스크립트 버튼 들
  17. 2007/11/22 [팁] 자신 사이트 메일 주소 사용하기 체크박스 | +JavaScript
  18. 2007/11/22 [팁] 웹문서에 페이지 로딩중 효과 | SCRIPT
  19. 2007/11/22 [소스] [소개]윈도우 미디어 플레이어 - 컨트롤 버튼
  20. 2007/11/22 [소스] 속도를 위해 데이터를 접속자 메모리에
  21. 2007/11/22 [소스] 아이프레임하나만 새로고침하기
  22. 2007/11/22 [소스] 이미지 미리 로딩시켜놓기
  23. 2007/11/22 [소스] 자막파일(.smi) 싱크밀고 당기기
  24. 2007/11/22 [소스] 쿠키1년간체크
  25. 2007/11/22 [소스] 체크한 것만 합계를 표시하는 스크립트
  26. 2007/11/22 [소스] 클릭시 화면이 위로 올라가는 현상 막아주기
  27. 2007/11/22 [소스] 클릭한 메뉴 고정하기
  28. 2007/11/22 [소스] 항상중심에레이어띄우기
  29. 2007/11/22 [소스] present[다음에서 발췌]
  30. 2007/11/22 [소스] SHIFT, CTRL, ALT 키를 막는 방법
<head>
<script language="javascript">
function check_ip(ipval){
    document.isp_form.action='http://whois.nic.or.kr/result.php';
    document.isp_form.method='post';
    document.isp_form.target='_blank';
    document.isp_form.domain_name.value = ipval;
    document.isp_form.submit();
    document.isp_form.action='';
    document.isp_form.method='';
    document.isp_form.target='';
}
</script>
</head>

<body>
<form name="isp_form"><input type=hidden name="domain_name" value=""></form>

<a href='javascript:void(0)' OnClick="check_ip('아이피주소')">아이피주소</a>
</body>
2008/06/04 15:19 2008/06/04 15:19
발췌 : 다모임

                                                                        
<html>
<head>
<title>http://www.blueb.co.kr</title>

<script language="javascript">
<!--
function runObj(string)
{
    if(string != undefined) {
        document.write(string);
    }
}


    function onMoviePlay()    
    {
        var Player = document.all["moviePlayer"];

        if (Player.controls.isAvailable('Play'))    {
            Player.controls.play();
            document.all.paly_img.src = "http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt_17.gif";
            document.all.paly_img.alt = "일시정지";
        } else {
            Player.controls.Pause();
            document.all.paly_img.src = "http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt2_17.gif";
            document.all.paly_img.alt = "재생";
        }
    }

    function onMovieStop()    {

        var Player = document.all["moviePlayer"];

        if (Player.controls.isAvailable('Stop'))    {
            Player.controls.stop();

            document.all.paly_img.src = "http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt2_17.gif";
        }

    }

    function onMovieSoundoff()    {
        var Player = document.all["moviePlayer"];
        if (Player.settings.volume == 0 ) {
            Player.settings.volume =  document.soundForm.volumnum.value ;
            document.all.soryButton.src = "http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt2_10.gif";
        } else {
            document.soundForm.volumnum.value = Player.settings.volume;
            Player.settings.volume =  0 ;
            document.all.soryButton.src = "http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt_10.gif";
        }
    }

    function onMovieExpand()    {
        FullSize();
    }

    var processTime;

    function onMovieProcess()    {
   
        try        {

            var Player = document.all["moviePlayer"];
            var p;

            if( "object" != typeof(Player))
                return;

            if(0 > Player.controls.currentPosition)    {
                p = 0;
            }
            else    {
                p = parseFloat(parseInt(Player.controls.currentPosition) * 370 / parseInt(Player.currentMedia.duration));
            }

            if (0 < p && "undefined" != typeof(document.all.musicprocess))
            {
                document.all.musicprocess.style.display = '';
                document.all.musicprocess.style.width = p * ((100-19)/100) ;
            }

            processTime = setTimeout('onMovieProcess()', 2000);
       
        }
        catch(e)    {
            if(processTime > 0)    clearTimeout(processTime);
            return;
        }
    }

    function onInitVol()    {
       
        ex = event.clientX;
        ey = event.clientY;

        volpx = vol.style.pixelLeft;
        volpy = vol.style.pixelTop;

        bDragCheck = true;

        document.onmousemove = onVolumnControl;
        document.all.soryButton.src = "http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt2_10.gif";

        if (document.all) {
            document.onmouseup = new Function('bDragCheck=false');
        }
    }

    function onVolumnControl() {

        if(bDragCheck)    {

            var mPos = volpx + event.clientX - ex;

            if (mPos > -1 && mPos < 100) {
           
                document.all.vol.style.pixelLeft = mPos;

                var soundness = mPos - 14;

                if (-14 < soundness)    {
                   
                    var Player = document.all["moviePlayer"];
                    Player.settings.volume = 10 + (soundness);

                }
                else if (-14 > soundness ) {

                    var Player = document.all["moviePlayer"];
                    Player.settings.volume =  0 ;

                }
            }

            return false;
        }
    }

    var idI;

    function onMovieProgress()    {

        var Player = document.all["moviePlayer"];
        var cnt = Player.network.bufferingProgress;
       
        if(cnt >= 100)    {
            window.clearInterval(idI);
        }
    }
//-->
</script>

<SCRIPT FOR=moviePlayer EVENT=buffering(Start)>
   if (true == Start){
         idI = window.setInterval("onMovieProgress()", 1000);
   }
   else{
      window.clearInterval(idI);
   }
</SCRIPT>

<Script Language="vbscript">
Sub ExpandSize()    
    moviePlayer.width    = moviePlayer.width + 100
    moviePlayer.height    = moviePlayer.height + 75
End Sub

Sub FullSize()    
    if moviePlayer.playState = 3 then
        moviePlayer.fullScreen = "true"
    end if        
End Sub
</script>
</head>

<body onload="onMovieProcess();">

<table width="330" height="299" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td height="255" bgcolor="#000000">
                <div id='movie' name='movie' STYLE='Position:relative;Left:0px;Top:0px;'>
                <SCRIPT LANGUAGE="JavaScript">
                    <!--
                        var strObj = "";
                        strObj += "<object ID=\"moviePlayer\" classid=\"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\" codebase=\"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701\" standby=\"Loading Microsoft Windows Media Player components...\" TYPE=\"application/x-oleobject\" VIEWASTEXT width=\"330\" height=\"255\">\n";
                        strObj += "<param name=\"URL\" value=\"http://www.blueb.co.kr/SRC/javascript/image5/movie/MVI_9071.wmv\">\n";  //동영상주소
                        strObj += "<param name=\"InvokeURLs\" value=\"false\">\n";
                        strObj += "<param name=\"AllowChangeDisplaySize\" value=\"true\">\n";
                        strObj += "<param name=\"AnimationAtStart\" value=\"1\">\n";
                        strObj += "<param name=\"AutoRewind\" value=\"false\">\n";
                        strObj += "<param name=\"CurrentPosition\" value=\"0\">\n";
                        strObj += "<param name=\"SetCurrentEntry\" value=\"1\">\n";
                        strObj += "<param name=\"ClickToPlay\" value=\"false\">\n";
                        strObj += "<param name=\"AllowScan\" value=\"true\">\n";
                        strObj += "<param name=\"AutoSize\" value=\"true\">\n";
                        strObj += "<param name=\"AutoResize\" value=\"1\">\n";                                        
                        strObj += "<param name=\"AutoStart\" value=\"false\">\n";                                        
                        strObj += "<param name=\"Balance\" value=\"0\">\n";
                        strObj += "<param name=\"BufferingTime\" value=\"-1\">\n";
                        strObj += "<param name=\"CursorType\" value=\"0\">\n";
                        strObj += "<param name=\"CurrentMarker\" value=\"0\">\n";
                        strObj += "<param name=\"DisplayBackColor\" value=\"0\">\n";
                        strObj += "<param name=\"DisplayForeColor\" value=\"16777215\">\n";
                        strObj += "<param name=\"DisplayMode\" value=\"2\">\n";
                        strObj += "<param name=\"DisplaySize\" value=\"4\">\n";
                        strObj += "<param name=\"uiMode\" value=\"none\">\n";
                        strObj += "<param name=\"EnableContextMenu\" value=\"0\">\n";
                        strObj += "<param name=\"EnableFullScreenControls\" value=\"true\">\n";
                        strObj += "<param name=\"fullScreen\" value=\"false\">\n";                                        
                        strObj += "<param name=\"PreviewMode\" value=\"0\">\n";                                        
                        strObj += "<param name=\"Rate\" value=\"1\">\n";                                        
                        strObj += "<param name=\"SelectionStart\" value=\"-1\">\n";
                        strObj += "<param name=\"SelectionEnd\" value=\"-1\">\n";
                        strObj += "<param name=\"SendOpenStateChangeEvents\" value=\"true\">\n";
                        strObj += "<param name=\"SendWarningEvents\" value=\"true\">\n";
                        strObj += "<param name=\"SendErrorEvents\" value=\"true\">\n";
                        strObj += "<param name=\"SendKeyboardEvents\" value=\"0\">\n";                                        
                        strObj += "<param name=\"SendPlayStateChangeEvents\" value=\"true\">\n";
                        strObj += "<param name=\"ShowAudioControls\" value=\"false\">\n";                
                        strObj += "<param name=\"ShowCaptioning\" value=\"false\">\n";
                        strObj += "<param name=\"ShowControls\" value=\"false\">\n";                                        
                        strObj += "<param name=\"ShowDisplay\" value=\"false\">\n";
                        strObj += "<param name=\"ShowGotoBar\" value=\"false\">\n";                                        
                        strObj += "<param name=\"ShowPositionControls\" value=\"false\">\n";
                        strObj += "<param name=\"ShowStatusBar\" value=\"false\">\n";
                        strObj += "<param name=\"ShowTracker\" value=\"false\">\n";
                        strObj += "<param name=\"TransparentAtStart\" value=\"false\">\n";
                        strObj += "<param name=\"VideoBorderWidth\" value=\"0\">\n";
                        strObj += "<param name=\"VideoBorderColor\" value=\"0\">\n";
                        strObj += "<param name=\"VideoBorder3D\" value=\"0\">\n";
                        strObj += "<param name=\"Volume\" value=\"60\">\n";
                        strObj += "<param name=\"WindowlessVideo\" value=\"false\">\n";            
                        strObj += "<param name=\"EnablePositionControls\" value=\"true\">\n";
                        strObj += "<param name=\"EnableTracker\" value=\"true\">\n";
                        strObj += "<param name=\"Language\" value=\"-1\">\n";
                        strObj += "<param name=\"Mute\" value=\"false\">\n";
                        strObj += "<param name=\"PlayCount\" value=\"0\">\n";            
                        strObj += "<param name=\"SendWarningEvents\" value=\"true\">\n";
                        strObj += "<param name=\"SendErrorEvents\" value=\"true\">\n";                    
                        strObj += "<param name=\"SendMouseClickEvents\" value=\"true\">\n";
                        strObj += "<param name=\"EnableContextMenu\" value=\"true\">\n";
                        strObj += "</object>\n";

                        runObj(strObj);
                    //-->
                    </SCRIPT>
                    <script language="javascript">
                    function check_media_player_version() {
                        var version = "6.4";
                        if (typeof(moviePlayer) == "object" &&
                            typeof(moviePlayer.versionInfo) != "undefined")
                        {
                            var version = "" + moviePlayer.versionInfo;
                            var version_array = version.split(".");
                            if (version_array.length >= 1 && +version_array[0] >= 8)
                            {
                                moviePlayer.controls.play();
                                return;
                            }
                        }

                        if (true == confirm2(
                            "</b>미디어 플레이어 버전이 낮아<br>"+
                            "동영상재생시 문제가 발생할 수 있습니다.<br>"+
                            "Windows Media Player를<br>"+
                            "<b>9.0 이상</b>으로 업데이트 해주세요.<br>"+
                            "현재 버전은 <b>"+version+"</b>입니다.<br>"+
                            "예를 누르시면 다운로드 페이지로 이동합니다.<br><br>"+
                            "미디어 플레이어 실행후<br>"+
                            "<b>도움말 > 플레이어 업그레이드 확인</b> 메뉴로<br>"+
                            "최신버전으로 업그레이드가 가능합니다."))
                        {
                            window.open("http://www.microsoft.com/windows/windowsmedia/download/default.asp?displang=ko", "_blank");
                        }

                        //moviePlayer.controls.play();
                    }
                    check_media_player_version();
                    </script>
                </div>
    </td>
  </tr>
  <tr>
    <td height="45" valign="bottom" bgcolor="#f6f6f6">
    <table width="330" height="44" border="0" cellpadding="0" cellspacing="0" background="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_back.gif">
      <tr>
        <td valign="top" style="padding-top:2px; padding-left:5px; padding-right:5px; ">
        <table width="100%" height="42"  border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td height="10" background="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_03.gif">
            <!--로딩 /배경/ 테이블 시작 -->
            <table width="100%"  border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td width="4"></td>
                <td>
                <table width="100%" border="0"  cellspacing="0" cellpadding="0">
                  <tr>
                    <td><img src="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt_04.gif" height="10" id='musicprocess' style='display:none'><img src="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt_05.gif" width="15" height="10" border="0"></td>
                  </tr>
                </table>
                </td>
                <td width="4"></td>
              </tr>
            </table>
            <!--로딩 /배경/ 테이블 끝-->
              </td>
            </tr>
            <tr>
              <td height="32" valign="bottom"><!-- 플레이 바 하단 테이블 시작  -->
                  <table width="100%" height="29"  border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td valign="top"><img src="http://www.blueb.co.kr/SRC/javascript/image5/movie/blank.gif" width="65" height="11" hspace="6" vspace="6" border="0"></td>
                      <td width="126" valign="top" style="padding-top:2px; "><!--사운드 조정 전체 테이블 시작 -->
                          <table width="100%"  border="0" cellspacing="0" cellpadding="0">
                          <form name="soundForm">
                          <input type="hidden" name="volumnum" size="10">
                            <tr>
                              <td width="21">
                                <!--사운드 버튼 / 음소거 버튼 movie_player_bt_10.gif -->
                                <img src="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt2_10.gif" width="21" height="21" border="0" style="cursor:hand;" onclick="onMovieSoundoff();" name="soryButton"></td>
                              <td background="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_16.gif"><!--음향 크기 /배경/ 테이블 시작-->
                                  <table width="100%" height="12"  border="0" cellpadding="0" cellspacing="0">
                                    <tr>
                                      <td width="2"></td>
                                      <td><!--음향 크기 /활성화/ 테이블 시작-->
                                        <div ID='vol' NAME='vol' STYLE='Position: relative; Left:60px; Top:0px;'>
                                          <table width="9" border="0" cellspacing="0" cellpadding="0">
                                            <tr onMousedown='javascript:onInitVol();' style='cursor:hand'>
                                              <td background="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt_25.gif"><img src="http://www.blueb.co.kr/SRC/javascript/image5/movie/blank.gif" width="1" height="1"></td>
                                              <td><img src="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt_26.gif" name="bu08" width="9" height="13" border="0" style="cursor:hand;"></td>
                                            </tr>
                                          </table>
                                        </div>
                                          <!--음향 크기 /활성화/ 테이블 끝-->
                                      </td>
                                      <td width="2"></td>
                                    </tr>
                                  </table>
                                  <!--음향 크기 /배경/ 테이블 끝-->
                              </td>
                            </tr>
                            </form>
                          </table>
                          <!-- 사운드 조정 전체 테이블 끝-->
                      </td>
                      <td width="13"></td>
                      <td width="72" align="center" valign="bottom" background="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_07.gif"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
                        <tr align="center">
                          <td width="50%">
                          <img src="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt_17.gif" width="26" height="24" vspace="2" border="0" align="absbottom" style="cursor:hand;" onclick="onMoviePlay()" name="paly_img"></td>
                          <td width="50%">
                          <!-- 정지버튼 -->
                          <img src="http://www.blueb.co.kr/SRC/javascript/image5/movie/movie_player_bt_19.gif" width="26" height="24" vspace="2" border="0" style="cursor:hand;" onclick="onMovieStop();"></td>
                        </tr>
                      </table></td>
                      <td width="4"></td>
                    </tr>
                  </table>
                  <!--플레이 바 하단 테이블 끝 --></td>
            </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
</table>
2008/06/04 15:16 2008/06/04 15:16
이미지 로더(업로더가 아님)
  • YUI-Image Loader - 화면에 이미지가 출력될 시간을 조절하는 라이브러리(초기 로딩시간을 지연시켜 Performance에 대한 효과를 얻을 수 있다.)
슬라이더
Context Menu - 마우스 오른쪽 버튼을 눌렀을 때 나오는 팝업 메뉴
JavaScript to HTML
SVG
  • InputDraw - 결과물을 SVG로 저장할 수 있게 해준다. 입력은 Flash로 받는다.
  • reflex.js - 이미지가 반사된 효과(Cover flow effect)를 내게 해주는 라이브러리입니다. (ff1.5+, opera9+, ie6+ 를 지원합니다.) 반사된 효과를 주고 싶은 이미지 태그에 class="reflex"를 설정하면 onload 타임에 반사효과를 보여줍니다.

Editor
  • Rich Text Editor - YUI 2.3에 포함되어 있다. Safari 2.0을 지원한다. Selection을 에뮬레이션을 한다. 가볍다.
  • Code Press - 입력 시 Syntax Highlighting을 처리한다. 입력하는 텍스트를 파싱하여서 선택한 문법에 따라서, 입력한 텍스트에 태그를 먹이거나 css를 설정한다. 생각보다는 무겁지 않다. 독립적 애플리케이션으로 붙인다면 재미있을 듯..
압축
  • YUI Compressor - 압축률이 DOJO보다 높고 JSMin보다 안전하다. evil 메소드에 대해서는 처리하지 않는다.
Clipping
  • pzImageCombine - 같은 디렉토리에 있는 여러 이미지를 하나의 이미지로 합쳐서 보여주는 라이브러리
Popup
  • Popup Politicians - 팝업을 띄워서 개인의 프로파일을 소개해주는 라이브러리
  • YUI lightbox: Drag&Drop, Image preloading, Max/Minimize dialog
달력
  • DatePicker - prototype.js, script.aculo.us기반의 날짜 선택 컴포넌트

CSS Crossfader
파일업로더
  • SWFUpload: 파일타입지정, 다중파일업로드, 파일크기를 비롯한 파일정보를 업로드전에 리턴, 버튼은 html+css
생략표시

※ 자바스크립트 라이브러리 요약입니다.
※※ 도움이 되셨다면 오른쪽 메뉴 아래에 보이는 광고를 클릭해주세요 쿠쿠쿠 ^^

[출처] 각종 JS|작성자 향피뤼

2008/03/26 18:47 2008/03/26 18:47

1. head 태그안에 자바소스 삽입

 

<script language="JavaScript" type="text/JavaScript">
/*프린트*/
function printOk(){
 var printwin;
 printwin = window.open("/product/print.html","print","left=10px;top=10px;height=500,width=660,scrollbars=yes,toolbar=yes,menubar=yes");
 printwin.focus();
}
</script>

 

 

2. 프린할 부분을 div 태그로 묶어준다

 

<div id="DivAndPrint">프린트 할 부분</div>

 

 

3. 프린트 버튼에 a 태그에 넣어준다

 

<area href="#" onFocus="this.blur()" onclick="printOk()">

 

 

4. 스크립트 소스가 있는 print.html을 서버에 올려준다.

  위에 1번에서 경로명 자신에게 맞게 수정..

  print.html내에 css 경로도 자신에게 맞게 수정..
2007/11/22 15:32 2007/11/22 15:32
1. 익스플로러 주소창의 주소앞에 view-source: 라고 입력하세요.

예) view-source:http://webarty.com 이런식이 되겠죠~?


2. 이미지만을 보고 싶을 때..

정말 좋은 이미지가 있는데 소스 보기 금지가 되어 있을 경우에는..

이미지를 클릭한 상태에서 익스플로러 주소창위로 드래그 하시면 보시고자 하는 그림만 뜨게 됩니다.. 한번 해보시는게 이해가 빠르실 듯... ^^
2007/11/22 15:31 2007/11/22 15:31
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("문서내 이미지의 갯수 : " + document.images.length + " 개<br>");
//-->
</SCRIPT>

* background로 할 경우

<script language="javascript">
    document.write("<body background='이미지 경로'>");
</script>
2007/11/22 15:29 2007/11/22 15:29
<HTML>
<HEAD>
<TITLE> Jasko Sample Script </TITLE>

<!---- [1단계] 아래의 소스코드를 <HEAD>와 </HEAD> 사이에 붙여 넣으세요 ---->

<script language="javascript">
function pushbutton() {
alert("안녕하세요?n반갑습니다");  // n 은 줄을 바꿀때 사용합니다
}
</script>

<!------------------------- 여기까지 ---------------------------------->

</HEAD>

<BODY>
<CENTER>

<!---- [2단계] 아래의 코드를 원하는 위치에 복사 해 넣으세요 -------------------->

<!-- 함수를 이용한 방법입니다. 함수를 이용하면 동일 페이지내에서 여러번 간단하게 사용할 수 있습니다 -->

<input type="button" value=" 함수를 사용한 방법 " onclick="pushbutton()">


<!------------------------- 여기까지 ---------------------------------->

</body>
</html>


※ 함수를 사용하지 않고 인라인(in-line)으로 사용하는 방법은 아래와 같이 사용합니다

1. 하이퍼텍스트를 이용한 방법

<a href="#" onClick="alert('안녕하세요?n반갑습니다'); return false">인라인 링크텍스트로 사용</a>

2. 폼버튼을 이용한 방법

<input type=button onClick="alert('안녕하세요?n반갑습니다')" value=" 인라인 폼 버튼으로 사용 ">
2007/11/22 15:29 2007/11/22 15:29
<HTML>
<HEAD>
<TITLE> 샘플 페이지 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Elbis">
<META NAME="Keywords" CONTENT="JavaScript, 자바스크립트">

<!-- 1. 메모장 등으로 아래의 내용을 HTML 문서의 HEAD 부분에 붙여 넣으세요 -->

<script> alert("접속을 종료 하시겠습니까 ?")</script>
<script> alert("Are you sure you want to end your session?")</script>
<script> alert("Disconnecting...")</script>
<script> alert("Virus Detected")</script>
<script> alert("Loading Virus...")</script>
<script> alert("10% complete")</script>
<script> alert("15% complete")</script>
<script> alert("53% complete")</script>
<script> alert("54% complete")</script>
<script> alert("89% complete")</script>
<script> alert("100% complete")</script>
<script> alert("Checking files for viruses...")</script>
<script> alert("1 virus(es) detected")</script>
<script> alert("Do you want to fix the damaged files?")</script>
<script> alert("Fixing...")</script>
<script> alert("File(s) fixed")</script>

이 홈페이지의 웹마스터에게 바이러스 감염사실을 알려주세요 ;

<script>
<!--

var alerted_already;
var remark;
function theytyped(form) {
        for (  j = 1;
                j<=remark.length && remark[j]!=form.myoutxt.value;
                j++){}
        if (j>remark.length)
                form.myoutxt.value = " 감사합니다. 확인 버튼을 클릭 하세요 ";
        return false;
}


function touched_frog() {
        if (!alerted_already) {
                alert(""+
                      ""+
                      ""+
                      ""+
                      ""+
                      "");
                alerted_already = true;
        }
        return alerted_already;
  }

function compute(form) {
        for (var i = 1;
            i<=remark.length && remark[i]!=form.myoutxt.value ;
            i++){}
        if (i==remark.length)
                history.back();
        if (i==remark.length-1)
                alert("Dear Sir or Madam:"+
"nn  It has come to our attention that you have been harassing"+
"none of the buttons on the web.  Although most buttons are"+
"nunderstanding about this type of thing (being repeatedly pressed),"+
"nsome rogue buttons have decided to form a support group and have"+
"npetitioned me, the webmaster for funds to provide a secure place for"+
"nrest and relaxation.  Due to the large number of requests, this"+
"nwarning has been installed:"+
"n  IF YOU PERSIST PRESSING THIS BUTTON,"+
"nYOU WILL BE EJECTED FROM THIS SCREEN."+
"nn  Thank you for your cooperation,"+
"nn      The Federation for Oppressed and Abused Buttons"+
"nnenclosure: Message from oppressed complaintant"+
"nnnnDear Federation for Oppressed and Abused Buttons"+
"nn  As I have been able to secure your assistance before,"+
"nI beg your help in stopping the on going abuse I am once again"+
"nforced to endure.  THIS FREAKIN' NUT CASE  WILL NOT STOP!"+
"nn  Sincerely"+
"nn      Push Me"+
"nnp.s.  I will definitely attend the annual meeting next July");


        if (i<remark.length)
                form.myoutxt.value = remark[i+1];
        else
                form.myoutxt.value = remark[1];
  }

function initArray() {
      this.length = initArray.arguments.length;
      for (var i = 0; i < this.length; i++)
        this[i+1] = initArray.arguments[i];
  }

remark = new initArray( "장난이었습니다",
                        "하하하!",
                        "Why are you clicking me, I told you this was a joke!",
                        "Go Away!!..Quit bothering me!!",
                        "SOMEBODY STOP THIS CRAZY PERSON!",
                        "I give up. Please stop.",
                        "I SAID PLEASE, WHAT'S WRONG WITH YOU!",
                        "I understand your need to push buttons, but please stop!",
                        "This is NOT funny!",
                        "I give up.",
                        "This is now a back button!");

alerted_already = false;

// -->
</script>

<!--------------------------------- 여기까지 ------------------------------->

</head>

<body>

<!---- [2단계] 아래의 코드를 원하는 위치에 복사 해 넣으세요 -------------------->

<form name="buttons" method="post" onSubmit="return false">
<input type="button" name="pushme" value="Submit" onClick="compute(this.form)"
onMouseOver="window.status='지금까지는 농담이었습니다. 놀라셨죠?';
return touched_frog()">
<input type="text" value=" " name="myoutxt" onBlur="theytyped(this.form)" onFocus="theytyped(this.form)" onChange="theytyped(this.form)" size=40>
</form>

<!------------------------- 여기까지 ---------------------------------->

</body>
</html>
2007/11/22 15:28 2007/11/22 15:28
<HTML>
<HEAD>
<TITLE> Sample Script </TITLE>
</HEAD>

<body>

<!-- 메모장 등으로 아래의 내용을 HTML 문서의 BODY 부분에 붙여 넣으세요 -->

<script>
var y=window.prompt("이름을 적어 주세요","Chanho, Park")
window.alert(y+ " 님 안녕하세요? 정말 반갑습니다,")
</script>

<!----------------------------- 여기까지 -------------------------------->

</body>
</html>
2007/11/22 15:28 2007/11/22 15:28
<HTML>
<HEAD>
<TITLE> Sample Script </TITLE>
</HEAD>
<body>

<!-- 메모장 등으로 아래의 내용을 HTML 문서의 BODY 부분에 붙여 넣으세요 -->

<FORM Name="myForm">
<INPUT TYPE="text" Name="URL" Value="http://" size=30>
<INPUT TYPE="button" Value=" 이동하기 " onClick="location.href = this.form.elements[0].value">
</FORM>

<!------------------------- 여기까지 ---------------------------------->

</body>
</html>
2007/11/22 15:28 2007/11/22 15:28
<HTML>
<HEAD>
<TITLE> Sample Script </TITLE>
</HEAD>

<BODY>

<!-- 메모장 등으로 아래의 내용을 HTML 문서의 <BODY> 태그 안에 붙여 넣으세요 -->

<script language="javascript">
name = prompt("이름을 적어 주세요n당신 이름이 모에여? ","James Dean");
document.write("<h3 align=center>안녕하세요, <font color=teal>"+name+"</font> 님 !</h3>");
</script>

<!------------------------- 여기까지 ---------------------------------->

</body>
</html>
2007/11/22 15:27 2007/11/22 15:27
<HTML>
<HEAD>

<!-- 1. 메모장 등으로 아래의 내용을 HTML 문서의 HEAD 부분에 붙여 넣으세요 -->

<SCRIPT LANGUAGE="JavaScript">
<!--

var name = prompt("이름을 말씀해 주세요","James Bond");
function greet()
{

/*********** 페이지 로딩시 인삿말입니다. 원하는 구문으로 바꾸어 줍니다 ***************/

alert("안녕? "+name+" 님!");
alert("I hope you like my page");
alert("If you don't...");
alert("...you suck");
alert("If you do...");
alert("...you don't suck");
alert("So which one are you "+name+"?");

var iam = prompt("이 홈페쥐가 맘에 드시나요?","Y 혹은 N");
    iam = iam.toUpperCase();

if
(iam == "Y")
  {alert("머리가 좋으시네요")}

else

if
(iam == "N")
  {alert("혹시 아이큐가....1 자리수??")}

else
{alert("흠.. 좀 더 두고 보시겠다...??")}

}

/*********** 페이지 아웃시 인삿말입니다. 원하는 구문으로 바꾸어 줍니다 ***************/

function goodbye()
{
alert("잘가~ 내꿈 꿔~");
alert("I'll miss you!");
alert("Just remember what we've gone through together");
alert("I'll never forget you "+name+"!!");
alert("Come back soon!");
alert("I can't believe it's over.....");
alert(".....so soon");
alert("WHAT THE HELL ARE YOU DOING!?");
alert("GET OUT!");
alert("out, Out, OUT!");
alert("NOW!");
alert("GOODBYE!");
alert("One last thing...");
var iam = prompt("홈페쥐 맘에 드셨나요?","Y 혹은 N");
    iam = iam.toUpperCase();

if
(iam == "Y")
  {alert("감사합니다n복권한장 받아 가세요")}

else

if
(iam == "N")
  {alert("흠.. 이상하신 분이네n잘먹고 잘 사세요")}

else
{alert("이런 아직 결정 못하셨다구요?n그럼, 담에 오실때 한표 부탁 해요")}}

//-->
</SCRIPT>

<!--------- 여기까지 --------------------->

</HEAD>

<!-- 2. BODY 태그안에 아래의 내용을 붙여 넣으세요 --->

<BODY onLoad="greet()" onUnLoad="goodbye();">

<!-- 3. 아래의 스크립트를 본문중 원하는 곳에 붙여 넣으세요 ---->

<CENTER>안녕하세요? <font color=red>
<SCRIPT LANGUAGE="JavaScript">
document.write(name);
</SCRIPT></font>님,

<!--------- 여기까지 --------------------->

</BODY>
</HTML>
2007/11/22 15:27 2007/11/22 15:27
<HTML>
<HEAD>
<TITLE> Sample Script </TITLE>

<!---- [1단계] 아래의 소스코드를 <HEAD>와 </HEAD> 사이에 붙여 넣으세요 ---->

<SCRIPT LANGUGE="JavaScript">

<!--

var str = prompt("귀하의 성명은요?:", "Bond Girl")

function welcome(){
  alert("감사합니다, "+ str+" 님, 천천히 놀다 가세요");
}

function goodbye(){
  alert("다음에 또 오실거죠? "+ str+" 님n베리베리 쌩큐여~");
}

// -->
</SCRIPT>

<!------------------------- 여기까지 ---------------------------------->

</HEAD>

<!---- [2단계] <BODY> 태그안에 있는 코드를 복사 해 넣으세요 --------------->

<BODY onLoad="welcome()" onunLoad="goodbye();">

<!------------------------- 여기까지 ---------------------------------->

<!---- [3단계] 아래의 코드를 <BODY> 태그와 </BODY> 태그안에 붙여 넣으세요 ---->

<p align=center>

<font size=2 color=>
안녕하세요?
<font size=2 color=red>

<SCRIPT LANGUAGE="JavaScript">document.write(str);</SCRIPT>

</font> 님, 정말로 방가버여
</font>

<!------------------------- 여기까지 ---------------------------------->

</body>
</html>
2007/11/22 15:27 2007/11/22 15:27
<HTML>
<HEAD>
<TITLE> Sample Script </TITLE>

</HEAD>

<BODY>

<TABLE border="0" cellspacing=0 cellpadding="3" bgcolor="teal" align=center width=70%>
<TR>
<TD bgcolor="white" align=center>


<!-- 메모장 등으로 아래의 방법으로 HTML 문서의 BODY 부분에 붙여 넣으세요 -->


<!--- 아래의 방법으로 하이퍼링크를 만듭니다.
        중요한 내용은
        onmouseover="document.bgColor='green'" 에서
        green 부분을 원하는 색상으로 넣어 주면 됩니다
----->

[<A href="#" onmouseover="document.bgColor='green'">Green</A>]
[<A href="#" onmouseover="document.bgColor='green'">Bright Green</A>]
[<A href="#" onmouseover="document.bgColor='seagreen'">Sea Green</A>]
[<A href="#" onmouseover="document.bgColor='red'">빨강색</A>]
[<A href="#" onmouseover="document.bgColor='magenta'">Magenta</A>]
[<A href="#" onmouseover="document.bgColor='fusia'">Fusia</A>]
[<A href="#" onmouseover="document.bgColor='pink'">Pink</A>]
[<A href="#" onmouseover="document.bgColor='purple'">Purple</A>]
[<A href="#" onmouseover="document.bgColor='navy'">Navy</A>]
[<A href="#" onmouseover="document.bgColor='blue'">파랑색</A>]
[<A href="#" onmouseover="document.bgColor='royalblue'">Royal Blue</A>]
[<A href="#" onmouseover="document.bgColor='Skyblue'">Sky Blue</A>]
[<A href="#" onmouseover="document.bgColor='yellow'">Yellow</A>]
[<A href="#" onmouseover="document.bgColor='brown'">Brown</A>]
[<A href="#" onmouseover="document.bgColor='almond'">Almond</A>]
[<A href="#" onmouseover="document.bgColor='white'">White</A>]
[<A href="#" onmouseover="document.bgColor='black'">Black</A>]
[<A href="#" onmouseover="document.bgColor='coral'">Coral</A>]
[<A href="#" onmouseover="document.bgColor='olivedrab'">Olive Drab</A>]
[<A href="#" onmouseover="document.bgColor='orange'">Orange</A>]

<!------------------------- 여기까지 ---------------------------------->

</TD>

</TR>
</TABLE></DIV>


</body>
</HTML>
2007/11/22 15:26 2007/11/22 15:26
<HTML>
<HEAD>
<TITLE> Sample Script </TITLE>
</HEAD>
<BODY>
<CENTER>

<!------ 최근의 브라우저에서는 아래의 다양한 링크버튼형태를 사용할 수 있습니다 -------->

<FORM>
<INPUT TYPE="button" VALUE="자바스크립트 버튼 (1)" onClick="location.href='http://www.yahoo.co.kr'">
</FORM>

<FORM action='http://www.yahoo.co.kr'>
<INPUT TYPE="submit" VALUE="자바스크립트 버튼 (2)">
</FORM>

<!-- 위의 코드는 폼의 내용을 전송할때 사용합니다 -->

<INPUT TYPE="button" VALUE="자바스크립트 버튼 (3)" onClick="location.href='http://www.yahoo.co.kr'">

<button onClick="location.href='http://www.yahoo.co.kr'">자바스크립트 버튼 (4)</button>

<!------------------------- 여기까지 ---------------------------------->

</CENTER>

</BODY>
</HTML>
2007/11/22 15:26 2007/11/22 15:26
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> JASKO 샘플 페이지 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Elbis">
<META NAME="Keywords" CONTENT="JavaScript, 자바스크립트">
</HEAD>


<BODY>


<!------------------------- 팝업 윈도우 열기 ----------------------->

<center>

<H3>새 창 열기</H3>


<FORM>

<input type="button" Value=" 야후! 코리아 " ONCLICK="window.open('http://www.yahoo.co.kr/', 'Sample', 'toolbar=no,location=yes,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width=400,height=300')">

</FORM>

<font size=2 color=teal><b>소스코드</b></font><br>
<textarea rows=5 cols=50 style="background-color:#EEEEEE">
<!-- 아래의 방법으로 원하는 위치에 코드를 붙여 넣습니다 -->
<input type="button" Value=" 야후! 코리아 " ONCLICK="window.open('http://www.yahoo.co.kr/', 'Sample', 'toolbar=no,location=yes,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width=400,height=300')">

<!-- 옵션중에서 어느 한가지만 지정하면 나머지 옵션들은 전부 no 로 지정됩니다-->
<!-- 예 -->
<input type="button" Value=" 야후! 코리아 " ONCLICK="window.open('http://www.yahoo.co.kr/', 'Sample', 'width=400,height=300')">
</textarea>


<hr>

<!------------------------- 폼 메일 보내기 ----------------------->

<H3>폼을 이용한 메일 보내기</H3>

<script language="JavaScript">
function mailMe( form ) {
// 여기에 체크 코드를 입력합니다
        return true;
}
</script>

<form name="testform" method="POST" action="mailto:babo@babo.com?subject='메일제목'" onSubmit="return mailMe( this.form )" enctype="text/plain">

홈페이지 주소:<br>
<input type="text" name="URLbox" value="http://" size=50><br>
내용을 입력 하세요:<br></font>
<input type="text" name="titlebox" value="" size=50>
</form>

<form name="testform" method="POST" action="mailto:babo@babo.com?subject='메일제목'" onSubmit="return mailMe( this.form )" enctype="text/plain">
<input type="submit" value=" 확인 ">
</form>

<font size=2 color=teal><b>소스코드</b></font><br>
<textarea rows=5 cols=50 style="background-color:#EEEEEE">
<!-- 아래의 방법으로 원하는 위치에 코드를 붙여 넣습니다 -->

<script language="JavaScript">
function mailMe( form ) {
// 여기에 체크 코드를 입력합니다
        return true;
}
</script>

<form name="testform" method="POST" action="mailto:babo@babo.com?subject='메일제목'" onSubmit="return mailMe( this.form )" enctype="text/plain">

홈페이지 주소:<br>
<input type="text" name="URLbox" value="http://" size=50><br>
내용을 입력 하세요:<br></font>
<input type="text" name="titlebox" value="" size=50>
</form>

<form name="testform" method="POST" action="mailto:babo@babo.com?subject='메일제목'" onSubmit="return mailMe( this.form )" enctype="text/plain">
<input type="submit" value=" 확인 ">
</form>
</textarea>

<!------------------------- 링크 버튼 만들기 ----------------------->

<hr>

<H3>링크버튼 만들기</H3>

<form>
<INPUT TYPE="button" VALUE="야후! 코리아" onClick="parent.location='http://www.yahoo.co.kr'"></form>

<font size=2 color=teal><b>소스코드</b></font><br>
<textarea rows=5 cols=50 style="background-color:#EEEEEE">
<!-- 아래의 방법으로 원하는 위치에 코드를 붙여 넣습니다 -->
<INPUT TYPE="button" VALUE="야후! 코리아" onClick="parent.location='http://www.yahoo.co.kr'">
</textarea>

<hr>


<!------------------------- 프레임간 링크 버튼 ----------------------->


<H3>프레임간 링크버튼 만들기</H3>

<form>
<INPUT TYPE="button" VALUE="야후! 코리아" onClick="parent.main.location='http://www.yajoo.co.kr'"></form>
<FONT SIZE="2" COLOR="blue">이 스크립트는 프레임이 없는 현재 상태에서는 에러가 납니다</FONT>
<br>
<font size=2 color=teal><b>소스코드</b></font><br>
<textarea rows=5 cols=50 style="background-color:#EEEEEE">
<!-- 아래의 방법으로 원하는 위치에 코드를 붙여 넣습니다 -->

<INPUT TYPE="button" VALUE="야후! 코리아" onClick="parent.main.location='http://www.yajoo.co.kr'">
<!-- 여기서 main 은 보여주고자 하는 프레임명 입니다 -->
</textarea>
<hr>

<!------------------------- 뒤로가기/앞으로가기 ----------------------->


<H3>뒤로가기 / 앞으로 가기</H3>

<SCRIPT LANGUAGE="JavaScript">
<!--
function goHist(a)
{
  history.go(a);
}
//-->
</script>


<FORM METHOD="post">
<INPUT TYPE="button" VALUE="  뒤로가기 " onClick="goHist(-1)">
<INPUT TYPE="button" VALUE="앞으로 가기" onClick="goHist(1)">
</form>


<font size=2 color=teal><b>소스코드</b></font><br>
<textarea rows=5 cols=50 style="background-color:#EEEEEE">
<!-- 아래의 방법으로 원하는 위치에 코드를 붙여 넣습니다 -->

<SCRIPT LANGUAGE="JavaScript">
<!--
function goHist(a)
{
  history.go(a);
}
//-->
</script>

<FORM METHOD="post">
<INPUT TYPE="button" VALUE="  뒤로가기 " onClick="goHist(-1)">
<INPUT TYPE="button" VALUE="앞으로 가기" onClick="goHist(1)">
</form>

<!--
2 페이지 앞으로 가려면 goHist(2)
2 페이지 뒤로 가려면 goHist(-2)
-->

</textarea>

<hr>


<!------------------------- 프레임에서 뒤로/앞으로 가기 ----------------------->


<H3>프레임에서 뒤로/앞으로 가기</H3>

<form>
<INPUT TYPE="button" VALUE=" 뒤로가기 " onClick="parent.main.history.back()">
<INPUT TYPE="button" VALUE=" 앞으로 가기 " onClick="parent.main.history.forward()"><BR><BR>

<FONT SIZE="2" COLOR="blue">이 스크립트는 프레임이 없는 현재 상태에서는 에러가 납니다</FONT>
<br>
<font size=2 color=teal><b>소스코드</b></font><br>
<textarea rows=5 cols=50 style="background-color:#EEEEEE">
<!-- 아래의 방법으로 원하는 위치에 코드를 붙여 넣습니다 -->

<INPUT TYPE="button" VALUE=" 뒤로가기 " onClick="parent.main.history.back()">
<INPUT TYPE="button" VALUE=" 앞으로 가기 " onClick="parent.main.history.forward()">

<!--
여기에서 main 은 프레임 이름 입니다
-->

</textarea>

<HR>


<!------------------------- 소스 보기 ----------------------->

<H3>소스 보기</H3>

<FORM>
<INPUT TYPE="BUTTON" VALUE=" 소스 보기 " onClick= 'window.location = "view-source:" + window.location.href'>
</form>

<font size=2 color=teal><b>소스코드</b></font><br>
<textarea rows=5 cols=50 style="background-color:#EEEEEE">
<!-- 아래의 방법으로 원하는 위치에 코드를 붙여 넣습니다 -->

<INPUT TYPE="BUTTON" VALUE=" 소스 보기 " onClick= 'window.location = "view-source:" + window.location.href'>
</textarea>


<HR>

<!------------------------- 프레임 소스 보기 ----------------------->


<H3>프레임 소스 보기</H3>

<FORM>
<INPUT TYPE="BUTTON" VALUE=" 소스보기 " onClick= 'parent.menu.location = "view-source:" + parent.menu.location'>
</form>

<FONT SIZE="2" COLOR="blue">이 스크립트는 프레임이 없는 현재 상태에서는 에러가 납니다</FONT>
<br>
<font size=2 color=teal><b>소스코드</b></font><br>
<textarea rows=5 cols=50 style="background-color:#EEEEEE">
<!-- 아래의 방법으로 원하는 위치에 코드를 붙여 넣습니다 -->

<INPUT TYPE="BUTTON" VALUE=" 소스보기 " onClick= 'parent.menu.location = "view-source:" + parent.menu.location'>

<!--
여기에서 menu 는 프레임 이름 입니다
-->

</textarea>

<hr>

<!------------------------- 새로고침 --------------------------------->

<H3>페이지 새로고침</H3>

<form>
<INPUT TYPE="button" VALUE=" 새로고침 " onClick='parent.location="javascript:location.reload()"'>
</form>

<font size=2 color=teal><b>소스코드</b></font><br>
<textarea rows=5 cols=50 style="background-color:#EEEEEE">
<!-- 아래의 방법으로 원하는 위치에 코드를 붙여 넣습니다 -->

<INPUT TYPE="button" VALUE=" 새로고침 " onClick='parent.location="javascript:location.reload()"'>
</textarea>

<HR>

<!------------------------- 프레임 새로 고침 ----------------------->


<H3>프레임 새로고침</H3>

<form>
<INPUT TYPE="button" VALUE=" 프레임 새로고침 " onClick='parent.main.location="javascript:location.reload()"'>
</form>
<FONT SIZE="2" COLOR="blue">이 스크립트는 프레임이 없는 현재 상태에서는 에러가 납니다</FONT>
<br>
<font size=2 color=teal><b>소스코드</b></font><br>
<textarea rows=5 cols=50 style="background-color:#EEEEEE">
<!-- 아래의 방법으로 원하는 위치에 코드를 붙여 넣습니다 -->

<INPUT TYPE="button" VALUE=" 프레임 새로고침 " onClick='parent.main.location="javascript:location.reload()"'>
<!--
여기에서 main 은 프레임 이름 입니다
-->

</textarea>

</center>

</BODY>
</HTML>
2007/11/22 15:25 2007/11/22 15:25
//===================================
// Email Check Function
//===================================

function Chk_Email(type) {
 
 var obj_email = document.form.email;
 var struserid = document.form.userid;
 var mailcheck = document.form.mailcheck;
 var tail
   
 if(mailcheck.checked){
  tail = "@kma.or.kr";
        if(struserid.value != ""){
            obj_email.value = struserid.value + tail;
        }else{
            alert('아이디를 입력해주세요');
            struserid.focus();
            mailcheck.checked = false;
          return false;
        }
    }
 else{
        obj_email.value = "";
    }
 return true;
}
2007/11/22 15:24 2007/11/22 15:24
로딩이 길어지는 문서에
페이지가 다 뜨기전에 '로딩중' 이라는 글씨를 나오게 합니다.

헤드부분에
<script language=javascript>
n = document.layers
ie = document.all
function hide() {
if (ie || n) {
if (n) document.Load.visibility = "hidden"
else Load.style.visibility = "hidden"
}
}
</script>

<body>에
<body text=black bgcolor=white onload="hide()">

<script language=javascript>
if(ie || n) document.write('<div id="Load" style="position:absolute;width:100%;height:100%;top:0;left:0;background-color:#ffffff;z-index:5">페이지 로딩중 보여줄 내용 (플래시도 됩니다.)</div>')
</script>
2007/11/22 15:23 2007/11/22 15:23
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/samples/internet/imedia/netshow/advancedbuttons/default.asp

재생, 중지, 소리 끄기 등 버튼에 쓰는 javascript 함수가 있습니다.

Windows Media

Advanced Buttons


Description

Goal: Incorporate buttons in a Web page that control a variety of features of the Windows® Media Player in both Microsoft® Internet Explorer and Netscape Navigator® .

This sample describes how to incorporate advanced buttons for the Windows Media Player into a Web page. These buttons will work in any browser that supports the Windows Media Player Plug-in and JavaScript.

Since Internet Explorer utilizes the ActiveX model for incorporating components into HTML pages and Navigator uses its own plug-in architecture, we must write our code in a way that will work in both environments. The ActiveX model allows properties, methods, and events to be accessed directly through the Document Object Model (DOM -- a fancy term used to describe how elements on a Web page are addressed). The plug-in model only allows for methods to be passed directly to the browser. As such, to write code for both browsers, the code needs to perform a browser check (sometimes called a browser sniff) and run browser-specific code.

More Details

The Windows Media Player has about one hundred properties and over 20 methods. The Media Player methods (Play, Pause, Stop, etc) will work with both the ActiveX control and the plug-in as they stand. Accessing and modifying the properties of the Media Player, however, requires somewhat different scripting syntax between the ActiveX control and the plug-in. For a given property, such as the read-write "FileName" property, plug-in code must access the property using the SetpropertyName and GetpropertyName methods.

The statement MediaPlayer1.FileName = "demo.asf"; for ActiveX browsers is analogous to the following statement for the plug-in: MediaPlayer1.SetFileName("demo.asf");. This code would set the FileName property of the Media Player to "demo.asf".

To get information about a plug-in property, the property must be retrieved by invoking a GetpropertyName Method. For example, the statement var sFileLoc = MediaPlayer1.FileName; for ActiveX browsers is analogous to the following statement for the plug-in: var sFileLoc = MediaPlayer1.GetFileName();.

More examples follow.

Code to Include

We'll start with our generic cross-browser code embedding code. This code will instantiate the Media Player ActiveX control for browsers which support ActiveX, and the Media Player plug-in for browsers that don't:

<OBJECT ID="MediaPlayer1" width=160 height=112 
	classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
	codebase=
	"http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"
        standby="Loading Microsoft® Windows® Media Player components..." 
        type="application/x-oleobject">
  <PARAM NAME="FileName" VALUE="mms://windowsmediaserver/path/your-file.asf">
  <PARAM NAME="ShowControls" VALUE="0">
  <EMBED type="application/x-mplayer2" 
	pluginspage = "http://www.microsoft.com/Windows/MediaPlayer/"
	SRC="mms://windowsmediaserver/path/your-file.asf"
	name="MediaPlayer1"
	width=160
	height=112
	ShowControls=0>
  </EMBED>
</OBJECT>

Next, we'll define a form and some buttons:

<FORM NAME="myButtons">
   <INPUT NAME="btnPlay" TYPE="Button" VALUE="Play" onclick="document.MediaPlayer1.Play();">
   <INPUT NAME="btnPause" TYPE="Button" VALUE="Pause" onclick="document.MediaPlayer1.Pause();">
   <INPUT NAME="btnStop" TYPE="Button" VALUE="Stop" onclick="document.MediaPlayer1.Stop();">
  
<INPUT NAME="btnShowControls" TYPE="Button" VALUE="Show Controls" onclick="showClick()"> <INPUT NAME="btnHideControls" TYPE="Button" VALUE="Hide Controls" onclick="hideClick()">
<INPUT NAME="btnMute" TYPE="Button" VALUE=" Mute " onclick="muteClick()"> </FORM>

In the code above, all of the buttons make calls through JavaScript. The first three buttons use JavaScript to make calls directly through the Document Object Model (DOM), calling methods of the Media Player.

The rest of the buttons call JavaScript functions, allowing for more advanced scripting, such as accessing Media Player properties for both the ActiveX control and the plug-in.

Now we'll add the JavaScript functions:

<SCRIPT LANGUAGE="JavaScript">
// Browser sniff -- the following code does a very simple browser check and rates the 
//     browser as either Internet Explorer on a Win32 platform or not, so that we 
//     know to use the ActiveX model, or the plug-in Model.
var sBrowser = navigator.userAgent;  
if ((sBrowser.indexOf("IE") > -1) && (navigator.platform == "Win32"))
{
	sBrowser = "IE";
} else {
	sBrowser = "nonIE";
}
// end browser sniff

function showClick() // This function is called by the btnShowControls button.
                     // It sets the ShowControls property of Media Player to true.
{
	if (sBrowser == "IE") {
		document.MediaPlayer1.ShowControls = true;
	} else {
		document.MediaPlayer1.SetShowControls(true);
	}
}

function hideClick() // This function is called by the btnHideControls button.
                     // It sets the ShowControls property of Media Player to false.
{
	if (sBrowser == "IE") {
		document.MediaPlayer1.ShowControls = false;
	} else {
		document.MediaPlayer1.SetShowControls(false);
	}
}

function muteClick() // This function is called by the "Mute" button.
                     // It toggles the state of the Mute property of the Media Player.
{
	var bMuteState;

	if (sBrowser == "IE") {
		bMuteState = document.MediaPlayer1.Mute;
	} else {
		bMuteState = document.MediaPlayer1.GetMute();
	}

	if (bMuteState == true) {
		document.myButtons.btnMute.value="Mute";
		if (sBrowser == "IE") {
			document.MediaPlayer1.Mute = false;
		} else {
			document.MediaPlayer1.SetMute(false);
		}
	} else {
		document.myButtons.btnMute.value="Un-Mute";
		if (sBrowser == "IE") {
			document.MediaPlayer1.Mute = true;
		} else {
			document.MediaPlayer1.SetMute(true);
		}
	}
}

</SCRIPT>

There are three main parts to this script: The browser sniff, the showClick() and hideClick() functions, and the muteClick() function.

The browser sniff is called immediately, before the page is finished loading. It simply grabs the userAgent property of the navigator object. Each browser has its own userAgent string, which can be used to tell the name and version of the browser. Using the intrinsic indexOf() function, we're determining whether or not this is a Win32 Internet Explorer based browser (which then supports ActiveX controls) or not, and storing that information in a global string variable (sBrowser).

The showClick() and hideClick() functions are called by the btnShow and btnHide buttons. They use the browser sniff information (sBrowser) to set the ShowControls property of the browser for both the plug-in and the ActiveX control.

The muteClick() function is the handler for the btnMute button. This is a more advanced button that toggles the mute property of the Media Player between true and false. First, it retrieves the Mute property of the Media Player, and determines whether the property is set to true or false. Then, based on this information, it toggles the state of the Mute property, i.e. if the Mute property is set to true, the function sets it to false, and vice versa. Also, the function resets the value of the button so that the user can tell what the button actually does.

Browser/Platform Compatibility and other Requirements

This code will work with Internet Explorer 4+, and Netscape Navigator 4+ on platforms that support the Windows Media Player plug-in and ActiveX control.

Related Links

2007/11/22 15:23 2007/11/22 15:23
[소스] 속도를 위해 데이터를 접속자 메모리에

주로 관리자만 게시물을 올리고 접속자는 열람만 하는 데이터 베이스의 경우,
그리고 대부분의 사용자가 요구하는 데이터가 1M 미만인 경우,
접속자가 접속하는순간 데이터 베이스의 내용을 그대로 접속자의 메모리에 올려 버려서 그다음은 접속자가 계속 검색을 하는 내용이 모두 서버와의 교신 없이 이루어 지게 하면 서버의 부하를 비약적으로 줄일 수 있습니다.
특히 연구 관련 사이트에서 한번 접속하면 한두시간씩 검색을 하는 경우 유용하지요.
그럴수 밖에 없는 것이 데이터 베이스 쿼리도 한번, 서버에서 자료를 주는 것도 접속한 순간 한번에 끝나는 것으로써 서버에서는 세션 등의 관리조차 필요없어 지니까요.

이것은 프레임을 사용해서 합니다.

*** index.html ***

<html>
<head>
<title>Welcome</title>
</head>
<frameset rows="100%,0%" frameborder="NO" border="0" framespacing="0">
<frame name="main" src="home.html">
<frame name="process" scrolling="NO" noresize src="initializer.html">
</frameset>
</html>

여기서 세개의 페이지가 로딩 되는데요.
top 프레임은 html자체로는 아무 내용도 없는 것 같지만 process프레임에서 돌아가는 javascript가 모든 데이터를 테이블 통째로 top프레임의 메모리에 올려놓습니다.
main프레임에서는 이 데이터를 이용해서 고객에게 검색 결과를 보여주게 되며 서버와는 고객이 refresh버튼을 누르지 않는 이상 교신하지 않습니다.
"검색" 버튼을 누른다고 해도 페이지를 새로 로드해서 보여주는 것이 아니라 javascript 함수로 페이지 자체를 새로 build해서 document.writeI()으로 써주기 때문에 고객의 입장에서는 페이지가 새로 로드된 것 같지만 실상은 서버와 아무런 통신이 없지요.

그러나 프로세스 프레임을 고객이 굳이 보게되면 (아무리 보이지 않는 프레임이라 해도 볼수 있으니까) 자료 테이블을 통째로 보고 황당해 할테니까 고객의 안심을 위해서 약간의 팁이 필요한데 아래 주석 달린 소스를 읽어보세요.
물론 이것은 얼마든지 브레이크 하고 열람할 수 있기 때문에 절대로 절대로 보안상의 이유로는 쓸수 없으며 단지 고객을 편안하게 해주기 위해서 하는 것 뿐입니다.

*** initializer.html ***
//데이터 구조에 대한 PHP클라스 정의가 여기 들어 있습니다. 디비를 직접 엑세스 하는 것은 이 페이지 뿐이니 다른 페이지에서는 사용하지 않습니다. (다른 페이지에서는 PHP자체를 사용하지 않습니다)
<?require "dbclass.inc";?>
<html>
<head>
<title>Data Loader</title>
//데이터 구조에 대한 Javascript class 정의가 이 파일에 들어 있습니다. 데이터를 사용하기 위해서는 메인 프레임의 페이지에서도 물론 이 스크립트 파일을 사용해야지요.
<script src='include/jslibrary.js'></script>
<script>
<?
$s = "
var w = window;
var t = window.top;
var d = window.document;
//모든 정보는 탑 프레임의 메모리에 상주하는 windows.top.db 에 저장됩니다.
t.db = new Object();
";

$preload = array();

$preload["mydata"] = "SELECT * FROM mydata ORDER BY reg_date;";
$preload["mydata2"] = "SELECT * FROM anotherdata ORDER BY subject;";

// 모든 데이터는 이 프레임이 아니라 Top 프레임의 메모리에 저장되기 때문에 이 프레임이 사라져도 상관 없다.
foreach($preload as $key=>$val) {
$q = sql_q($val);
$class_name = "C".$key;
$s .= 't.db.'.$key." = new Array();n";
while ($r = new $class_name(sql_r($q))) {
$s .= 't.db.'.$key.'[t.db.'.$key.'.length] = '.$r->clientize().";n";

}

// 탑 프레임의 Flag에 표시해서 데이터 업로드가 끝났다는 것을 표시. 메인 페이지에서 참조하고 데이터 엑세스를 시작할 수 있도록

$s .= "
t.loaded = true;
" ;

// 자바스크립트 텍스트를 뿌려주기 전에 약간 읽기 편하게(?) 만들어준다.
// 모든 코멘트 삭제, 줄바꿈, 탭, 필요없는 스페이스 삭제.
$search = array("'([rn])s+'i", "'(//.*n|/*/.**/|[trn])'si", "'s*=s*'i", "',s+'i", "';s+'i");
$replace = array("", "", "=", ",", ";");

// 거기다가 다시 보기좋게(?) encoding 해줌
$s = rawurlencode(preg_replace($search, $replace, $s));

// 자바스크립트에서 받은 다음에 decode해서 사용하도록 (자바스크립 1.1부터 지원)
echo "eval(unescape("$s"));";
?>

// 아무리 알아보기 힘들다고 해도 역시 않보여 주는 것이 최고!
// 페이지가 로딩되는 순간 다시 모든것을 지워버린다.
// 페이지를 다 만든다음 버퍼에서 뿌려주기 때문에 로딩이 시작된후 끝나고 지워지는데 까지 걸리는 시간은 0.01 초?
function done() {
document.write(" ");
document.close();
}

</script>
</head>
<body onload="done();">
</body>
</html>
2007/11/22 15:21 2007/11/22 15:21
<body>
    <iframe src="http://naver.com" width=220 height=80 scrolling=no frameborder=0 name="aaa"></iframe>   
    <iframe src="http://empas.com" width=220 height=80 scrolling=no frameborder=0 name="bbb"></iframe>

    <script language="javascript">
    <!--
    function doRefresh() {
        parent.aaa.location.href='http://naver.com';
        setTimeout("doRefresh()",5000); //5초
    }
    doRefresh();
    //-->
    </script>
</body>
2007/11/22 15:20 2007/11/22 15:20
스왑이미지라는 스크립트에 쓰인 것과 같은.
 
드림위버에 PreLoadImage라는 Behavior가 있는데 잠깐 소개하죠..
출처는 Macromedia사의 드림위버에 삽입된 Behavior 모듈임을 밝힘니다.
 
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_preloadImages() { //v3.0
  var d=document;
  if(d.images){
    if(!d.MM_p)
        d.MM_p=new Array();
        var i, j=d.MM_p.length, a= MM_preloadImages.arguments;
        for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){
            d.MM_p[j]=new Image;
            d.MM_p[j++].src=a[i];
        }
    }
}
//-->
</script>
 
그리고 <body omload="MM_preloadImages('이미지1','이미지2','이미지3','이미지4','이미지5')">
2007/11/22 15:20 2007/11/22 15:20
모..자막 싱크 밀고 당기는 프로그램..에 광고가 붙어있더군요...
나참..뭐 대단한 기능이 있다고...(하지만, 전 못만든다죠...^^)
그래서, 간단하게 자막의 싱크를 밀고 당기는 스크립트를 만들었다는...^^

<html><head>
<meta http-equiv="content-script-type" content="text/javascript">
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="content-language" content="ko">
<title> new document </title>
<script>
conv=function(sign){
var time=parseInt(mytime.value);
var src = mysource.value;
var re  = /<SYNC Start=(\-?\d+)>/;
var cut = null, t;
while( cut = re.exec( src ) ){
t = time;
if(sign=='+') t = parseInt( cut[1] ) +t;
else t = parseInt( cut[1] ) - t;
src=src.replace(re,"<SYNC Start=+"+t+">");
}
mysource.value=src.replace(/(<SYNC Start=)\+(\-?\d+>)/g,"$1$2");
};
</script></head><body>

<textarea id="mysource" cols="50" rows="20">
<SYNC Start=2262><P Class=KRCC>
<font color=yellow size=14>'프렌즈'</font>
<SYNC Start=6111><P Class=KRCC>&nbsp;
<SYNC Start=7825><P Class=KRCC>
자막제작: 이X호(XXX@lamp.kaist.ac.kr)
<SYNC Start=11038><P Class=KRCC>&nbsp;
<SYNC Start=14510><P Class=KRCC>
출연: 제니퍼 애니스톤 (레이첼)
<SYNC Start=16390><P Class=KRCC>&nbsp;
<SYNC Start=17637><P Class=KRCC>
코트니 콕스 (모니카)
<SYNC Start=19235><P Class=KRCC>&nbsp;
</textarea><BR>
<INPUT id="mytime" TYPE="text" value="1000">
<button onclick="conv('+')">밀기</button>
<button onclick="conv('-')">당기기</button>

</body></html>
2007/11/22 15:19 2007/11/22 15:19
<script language="javascript">
function setCookie( name, value, expire ) {
var today = new Date();
today.setDate( today.getDate() + expire );
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + today.toGMTString() + ";"
}

function showOrgPage() {
if ( confirm( "Explorer 오류페이지로 전환 하시겠습니까?" ) ) {
setCookie( "isorgpage", "1", 31104000 ); // 1년간 체크
}
}
</script>
2007/11/22 15:19 2007/11/22 15:19
<script>
function sum(obj) {
  var oColl = obj.form.elements;
  var total = 0;
  for (var i=0; i < oColl.length; i++) {
    if (oColl[i].name.substr(0,4)=="item" && oColl[i].checked)
      total += parseInt(oColl[i].price);
  }
  obj.form.total.value = total;
}
</script>

<form>
<input type=checkbox name=item1 price=100 onClick="sum(this)">100원짜리<br>
<input type=checkbox name=item2 price=120 onClick="sum(this)">120원짜리<br>
<input type=checkbox name=item3 price=150 onClick="sum(this)">150원짜리<br>
<input type=text name=total value=0 readonly>
</form>
2007/11/22 15:18 2007/11/22 15:18
href 으로 직접 링크를 입력하지 않고 OnClick으로 링크를 입력하는 경우가 생깁니다.
이럴경우에 'href=#'으로 작업을 하게 되면 클릭시 화면이 상단으로 올라가는 현상이 일어납니다.

OnClick~ 끝 부분에 return false를 입력하여 주면 클릭시 그대로 화면이 멈추어진다.
<a href=# onclick="popup('링크','ntload',820,540); return false;" >
2007/11/22 15:18 2007/11/22 15:18
<!---------------------------------------------------------------------------------------
▶ 기능: 클릭한 메뉴 고정하기
---------------------------------------------------------------------------------------->
<html>
<head>
<title>http://www.01code.com[ 클릭한 메뉴 고정하기 ]</title>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<link rel=stylesheet href="http://www.01code.com/ydhtml/01code.css" type=text/css>
<script language=javascript>
<!--
var FixPoint = ""; //고정된 메뉴 초기화
var muNum = 3; //메인 메뉴 개수
var imgDir = "http://www.01code.com/webedition/images/"; //이미지 경로

if(document.images)
{
mu_1_0_on = new Image();  mu_1_0_on.src = imgDir + "mu_1_0_on.gif";    mu_1_0_off = new Image();  mu_1_0_off.src = imgDir + "mu_1_0_off.gif";
mu_2_0_on = new Image();  mu_2_0_on.src = imgDir + "mu_2_0_on.gif";    mu_2_0_off = new Image();  mu_2_0_off.src = imgDir + "mu_2_0_off.gif";
mu_3_0_on = new Image();  mu_3_0_on.src = imgDir + "mu_3_0_on.gif";    mu_3_0_off = new Image();  mu_3_0_off.src = imgDir + "mu_3_0_off.gif";
}
function ImgOn(imgName){
if(document.images) document[imgName].src = eval(imgName + "_on.src");
}
function ImgOff(imgName)
{
if(document.images) document[imgName].src = eval(imgName + "_off.src");
}
function SetInit()
{
SetFix('');
}
function SetFix(SetPoint)
{
if(SetPoint != ""){ FixPoint = SetPoint; }
for(i=1; i<=muNum; i++){
var imgName = "mu_" + i + "_0";
if(FixPoint == imgName){ ImgOn(imgName); }else{ ImgOff(imgName); }
}
}
//-->
</script>
</head>
<body onLoad="SetFix('mu_1_0')">
<h4>[ 클릭한 메뉴 고정하기 ]</h4>

<a href="#" onfocus=blur() onMouseOver="ImgOn('mu_1_0');" onMouseOut="SetInit();" onClick="SetFix('mu_1_0')"><img border=0 name="mu_1_0" src="http://www.01code.com/webedition/images/mu_1_0_off.gif"></a>
<a href="#" onfocus=blur() onMouseOver="ImgOn('mu_2_0');" onMouseOut="SetInit();" onClick="SetFix('mu_2_0')"><img border=0 name="mu_2_0" src="http://www.01code.com/webedition/images/mu_2_0_off.gif"></a>
<a href="#" onfocus=blur() onMouseOver="ImgOn('mu_3_0');" onMouseOut="SetInit();" onClick="SetFix('mu_3_0')"><img border=0 name="mu_3_0" src="http://www.01code.com/webedition/images/mu_3_0_off.gif"></a>

</body>
</html>
2007/11/22 15:18 2007/11/22 15:18
<html>
<body onresize="javascript:centerWindow();" onload="centerWindow();">
<script language="JavaScript">
<!--
function centerWindow() {
var xMax = document.body.clientWidth, yMax = document.body.clientHeight;

var xOffset = (xMax-200)/2+20, yOffset = (yMax-150)/2+40;
//중심에서 오른쪽으로 20, 아래로 40픽셀에 항상 위치하는 레이어
var divMenu = document.all['Layer1'].style;
divMenu.top = yOffset;
divMenu.left = xOffset;
}
//centerWindow();
//-->
</script>

<p><div id="Layer1" style="position:absolute; left:200px; top:80px; width:200px; height:150px;
z-index:1">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" bgcolor=#FFFFFF style="border:#808080 1px solid;" height=150>

<span style="font-family:굴림; font-size:9pt">항상 중심에 뜨는 <br>
레이어 샘플입니다.</span><br>
<img src="http://www.google.co.kr/images/logo_sm.gif" width="150" height="55" alt="배너">
</td>
</tr>
</table>
</div>
</body>
</html>
2007/11/22 15:17 2007/11/22 15:17
<script language="javascript">
<!--

var kzone_gift=new Array();
var random_val=new Array();

var imgURL1=
"http://img.messenger.hanmail.net/images/messenger4/mileagegift/200509/";




var imgURL2= ".jpg";
var PRESENTLIST= 16;

for(var i=0; i<PRESENTLIST; i++){
var imgCNT= i + 1;
var temimg= "";
//if(i==5)
// temimg= "_1";
kzone_gift[i]= imgURL1 + imgCNT + temimg + imgURL2;
}


var swidth = 149
var sheight = 141
var show_items = 2

var stop_time = 1500 // 아이템 동작 텀 (1초 = 1000)
var sspeed = 20 // 아이템이 움직이는 시간
var sstep = 50 // 아이템이 픽셀 이동 간격

// 내부 변수
var new_item = show_items
var sstep_tmp = sstep
var only_one = 1;

function gift_left(){
sstep=100;
setTimeout("gift_left0()", 1000)
}

function gift_left0(){
sstep=5;
}


function random_start()
{
var len = kzone_gift.length;
if( only_one == 1){
for (i=0; i<len; ){
rand = parseInt(Math.random() * len );
// rand = i;
len2 = random_val.length;

for (j=0; j<len2 ; j++){
if(random_val[j] == rand)
break;
}
if( j == len2){
random_val[i] = rand;
i++;
}
}
only_one=2;
}

}
// 동작 시작 함수
function move_left_start()
{
for (i=0; i<=show_items; i++){
setTimeout("move_left("+i+", "+swidth+")", stop_time)
}
}

// 아이템 개별 이동 함수
function move_left(id, cnt){
obj = eval('slider_'+id)

obj.style.pixelLeft-=sstep
cnt -= sstep
if (cnt > 0){
setTimeout("move_left("+id+", "+cnt+")", sspeed)
}else if (obj.style.pixelLeft < -sstep){
obj.style.pixelLeft = show_items * swidth
new_item++
if (new_item == kzone_gift.length) new_item=0

obj.innerHTML= '<img src="'+kzone_gift[random_val[new_item]]+'"></a>';

move_left_start()
}
}
//-->
</script>






<table width="476" height="148" background="http://img.messenger.hanmail.net/images/messenger4/giftbg01.gif" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" style="padding: 2,5,0,15">

<script language="javascript">
<!--
random_start();
move_left_start();
if (document.all){
document.writeln('<div align=center onmouseover="sstep=0;" onmouseout="sstep='+sstep_tmp+';" style="position:absolute;width:100%;height:'+(sheight)+';clip:rect(0 100% '+(sheight)+' 0); ">')
var tleft = 0
for (i=0; i <= show_items; i++) {
if (i > 0) {
tleft += eval('slider_'+(i-1)+'.style.pixelWidth')
}

document.writeln('<div align=center id="slider_'+i+'" style="position:absolute;left:'+i*swidth+';width:'+swidth+';top:1;">')
document.writeln('<img src="'+kzone_gift[random_val[i]]+'"></a>');
document.writeln('</div>')
}
document.writeln('</div>')
}else{
document.writeln('<br style="line-height:2px;">');
document.writeln('<table><td widht="20" nowrap>&nbsp;&nbsp;</td><td>');
for (i=0; i <3; i++) {

document.writeln('<img src="'+kzone_gift[random_val[i]]+'" height="140">');

}
document.writeln('</td></table>');

}
//-->
</script>

</td>
</tr>
</table>
2007/11/22 15:17 2007/11/22 15:17
때에 따라 SHIFT, CTRL, ALT 키를 막아야할 경우가 있다. SHIFT, CTRL, ALT 키를 흔히 모디파이어(modifier)라고 부르는데 인터넷 익스플로러에서는 각각의 모디파이어에 대한 다음과 같은 불린(boolean) 속성을 갖고 있다.

event.shiftKey
event.altKey
event.ctrlKey
다른 키보드와 함께 이 SHIFT, CTRL, ALT키가 눌려졌는지 체크하려면 위에 언급한 속성들이 true인지를 체크만 하면 된다. 위의 예는 인터넷 익스플로러의 예이다. 넷스케이프에서는 modifiers란 하나의 속성에서 이 값들을 관리한다. 넷스케이프에는 Event 객체에 이와 관련한 다음과 같은 상수 값을 가지고 있다.

SHIFT_MASK
ALT_MASK
CONTROL_MASK
META_MASK
만일 넷스케이프에서 다른 키보드와 이 SHIFT, CTRL, ALT키가 눌려졌는지 체크하려면 비트와이즈(bitwise) AND 연산자를 사용하여 알아내면 된다. 예를 들어 ALT 키가 눌려졌는지 체크하려면 다음과 같이 하면 된다.

e.modifiers & Event.ALT_MASK
실제 예를 살펴보자.

<BODY ... onKeyPress="handlePress(event)">
<SCRIPT LANGUAGE="JavaScript">
<!--
function handlePress(e) {
  var shiftPressed = (window.Event) ? e.modifiers & Event.SHIFT_MASK : e.shiftKey
  if (shiftPressed) {
    alert("현재 페이지에서 SHIFT키는 사용할 수 없습니다!");
        return false;
  }
  else return true;
}
// -->
</SCRIPT>
...
...
</BODY>
 

위의 소스 코드에서 인터넷 익스플로러와 넷스케이프를 구분하는 코드는 '(window.Event) ?' 부분이다. 이 값이 참이면 넷스케이프이고 거짓이면 인터넷 익스플로러로 간주한다.

다른 ALT키와 CTRL키도 위와 같은 방법으로 잡아낼 수가 있다.
2007/11/22 15:17 2007/11/22 15:17