세이박스

HTML base URL 활용하는 방법

웹프로그램
base url 이란?
현재 디렉토리를 지정한 디렉토리로 변경 해주는 기능 입니다.

조금 설명을 구체적으로 하면 다음과 같습니다.
브라우저에서 특정 사이트를 접속시 일단 html 소스를 읽어 옵니다.
그리고 html 소스를 순서대로 분석하면서 이미지, 플래시, 동영상 등의 파일을 다시 불러와서 내컴퓨터 임시 폴더 영역에 저장 합니다.
임시로 저장하는 영역은 IE 7.0인 경우 다음 경로와 같습니다.
브라우저 메뉴 > 도구 > 인터넷 옵션 > 설정 > 파일보기
를 클릭하면 앞전에 받았던 이미지 등이 보일 것입니다.

예) <img src="/images/test.jpg">

브라우저에서 읽어온 html 소스에 예와 같은 이미지 테그가 있는경우 브라우저에서는 자동으로 접속한 도메인을 base url로 생각하고 이미지를 받아 옵니다.
즉, <img src="http://접속한도메인/images/test.jpg"> 처럼 적용해서 이미지를 받아올 때
http://접속한도메인/images/test.jpg 로 불러 오게 됩니다.

base url 적용 소스 :


위 소스를 html 소스 맨 상단에 입력 해주면 이하 소스들은 위 URL을 기본 도메인 처리 됩니다.

예) 접속한 사이트는 http://www.naver.com/ 이지만 base url은 http://www.saybox.co.kr 인경우
<img src="/images/test.jpg"> 이와 같은 이미지 경로는 http://www.naver.com/images/test.jpg 가 아닌 http://www.saybox.co.kr/images/test.jpg 에서 불러오게 됩니다.

자바스크립트 기초 기능 부터 활용할 수 있는 기능을 예제로 보여줌

웹프로그램
자바스크립트 기초 기능 부터 활용할 수 있는 기능들을 예제로 보여줍니다.
해당 소스를 보고 싶으면 예제 페이지에서 마우스 우측 버튼 클릭후 소스 보기 하세요!

번호

예  제      소   스

 구분

적용 환경

1

  경고 메시지 표시하기

Message

Box


2

  프롬프트 박스로 패스워드 만들기

 

3

  Confirm 박스로 해당 페이지 표시하기

 

4

  웹 문서 나갈 때 감사 메시지 뛰우기

 

5

  시작페이지로 지정하기

 

6

  자동으로 즐겨찾기에 추가하기

 

7

  새로운 윈도우 자동으로 열기

Window


8

  클릭했을 때 새로운 윈도우 열기

 

9

  지정한 위치에 새로운 윈도우 열기

 

10

  리모콘 윈도우 만들기

 

11

  5초 후 자동으로 닫히는 윈도우

 

12

  자동으로 웹 문서 새로 고치기

 

13

  윈도주가 흔들리는 진동 효과주기

 

14

  윈도우를 자동으로 스크롤하기

 

15

  풀 스크린으로 윈도우 열기(종료: ALT + F4)


16

  채널모드로 윈도우 열기

 

17

  모달 다이얼로그 박스 열기

 

18

  팝업 윈도우가 점점 커지며 나타나는 효과

 

19

  출력을 위한 인쇄 버튼 만들기

 

20

  웹 문서에 문자열 찾는 기능 추가하기

 

21

  자바스크립트 디버깅 창

 

22

  배경색과 글자 색상 바꾸기

Document


23

  페이드 인(Fade in) 효과주기

 

24

  낮과 밤에 따라 바뀌는 배경 만들기

 

25

  마지막으로 수정한 시간 표시하기

 

26

  타이틀 바에 실시간 표시하기

 

27

  로컬디스크에서 문서 읽기 금지

 

28

  로딩(Loading)되는 장면 만들기

 

29

  다이나믹한 풍선 도움말 만들기

 

30

  DHTML로 다이나믹한 메뉴 만들기

 

31

  롤오버 이미지 1

Image


32

  롤오버 이지지 2

 

33

  롤오버 이미지로 선택 메뉴 표시하기

 

34

  링크 앞에 화살표 표시하기

 

35

  클릭하는 순간 다른 이미지로 바꾸기

 

36

  링크된 그림에 생기는 점선 없애기

 

37

  웹 문서에 이미지 뷰어 만들기 1

 

38

  웹 문서에 이미지 뷰어 만들기 2

 

39

  이미지가 바뀌는 슬라이드 효과주기

 

40

  이미지가 호수에 비치는 효과

 

41

  오버랩되면 타나나는 슬라이드 효과

 

42

  스크롤 바를 움직여도 고정되어 있는 이미지

 

43

  추천 사이트 랜덤으로 꾸미기

Link


44

  웹 문서 소스 보여주기

 

45

  히스토리 목록에 흔적 남기지 않기

 

46

  자동으로 메일 제목과 내용 입력시키기

 

47

  하이퍼텍스트에 형광펜 효과 주기

 

48

  롤오버된 하이퍼텍스트의 크기와 색 바꾸기

 

49

  한꺼번에 두 개의 프레임 내용 바꾸기

Frame


50

  다른 사이트의 프레임 잔재 없애기

 

51

  펼쳐지고 접혀지는 프레임 만들기

 

52

  IFRAME 내에 있는 문서 바꾸기

 

53

  웹 문서에 주소 입력란 넣기

Form


54

  메일 방명록 만들기

 

55

  사용자 입력의 타당성 검사하기

 

56

  라디오 버튼을 이용한 문제 풀이

 

57

  ID와 비밀번호의 타당성 검사하기

 

58

  한글 입력만 허용하는 폼문서

 

59

  숫자 입력만 허용하는 폼문서

 

60

  주민등록 번호 타당성 검사

 

61

  필수입력사항 타당성 검사

 

62

  다른사이트로 이동하는 선택 목록 만들기

 

63

  선택 목록에 이동 버튼 만들기

 

64

  선택된 URL을 다른 프레임에 출력하기

 

65

  폼 안의 글자에 타이핑 효과 주기

 

66

  폼 안에 글자 스크롤 시키기

 

67

  웹 문서에 FTP 접속 기능 추가하기

 

68

  선택된 항목에 따라 다른 선택 목록 만들기

 

69

  화면 해상도에 적합한 페이지 출력하기

Browser


70

  브라우저에 적합한 페이지 출력하기

 

71

  사용자 IP주소 나타내기

 

72

  상태 표시줄에 링크에 대한 설명 표시하기

Status


73

  상태 표시줄에 타이프 치듯 글자 출력하기

 

74

  상태 표시줄에 스크롤디는 글자 제어하기

 

75

  앞으로 가기, 뒤로 가기 버튼 만들기

History


76

  이전에 입력한 내용 기억하기

 

77

  방문 유무에 따른 다른 환영 메시지

 

78

  방문자의 방문 횟수 표시하기

 

79

  방문 횟수와 마지막 방문시간 표시하기

 

80

  공지 화면 처음 한번만 띄우기

 

81

  사용자의 선택에 따라 공지 창 열기

 

82

  현재 시간 표시하기

Time


83

  현재 시간과 날짜 표시하기

 

84

  텍스트 입력란에 현재 시간 표시하기

 

85

  문서 내에 현재 시간 표시하기

 

86

  이미지로 현재 시간 표시하기

 

87

  그림자가 비치는 시계 표시하기 1

 

88

  그림자가 비치는 시계 표시하기 2

 

89

  Data 객체로 달력 만들기

 

90

  특정일까지 남은 날짜 카운트다운하기

 

91

  사이트에 머무른 시간 표시하기

 

92

  마우스 오른쪽 버튼 사용 금지시키기

마우스

&

키보드


93

  GIP 이미지가 마우스를 따라 다니는 효과

 

94

  물결치면 마우스를 따라 다니는 글자

 

95

  물결치며 마우스를 따라다니는 이미지

 

96

  자신만의 팝업 메뉴 만들기

 

97

 지정된 사이트로 이동하는 단축키 정의하기

 

98

  접속할 때마다 다를 배경 음악 들려주기

Sound


99

  사용자가 선택한 음악 들려주기

 

100

  배경 음악을 순차적으로 들려주기

 

101

  배경 음악 무작위로 연속해서 들려주기

 

102

  링크에 마우스 대면 소리나는 사운드 효과 주기

 

103

  체계적인 트리(Tree) 메뉴 만들기

기타


104

  마우스 대면 타나나는 슬라이딩 메뉴

 

105

  웹 문서에 계산기 기능 추가하기

 

106

  마키(Marquee)기능 제어하기

 

107

  링크에 패스워드 걸어두기

 

108

  웹문서에 검색엔진 기능 추가하기

 

109

  카운트다운 후 다른 문서로 이동하기

 

 110

 자신의 홈페이지를 요일마다 변경을

 

 

111

 실시간 뉴스

 

 

112

 일기 예보

 

 

113

 우편번호 검색

 

 

114

 음악소스(bgm)

 

 

115

 전화기 멜로디

 

 

 116

 이미지 필터효과

 

 

117

 마우스를 대면 색상이 바뀌는 태그

 

 

118

 우주전광판

 

 

119

 팝업 광고창 제거

 

 

120

 연속해서 다른 음악으로 이어지는 스크립트

 

 

121

 애플랫 배너

 

 

 122

 요일 (날짜) 태그

 

 

 123

 공지사항창 1

 

 

 124

 공지사항창 2

 

 

 125

 메일창

 

 

126

공지사항창 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

vb에서 웹페이지 소스를 읽는 방법 - 소스첨부

응용프로그래밍
인터넷상에 웹페이지를 다운받는 과정을 설명하도록 하지요..
 
만약, 일반적인 인터넷 익스프롤러를 이용했을 때에는,
 
1. 사용자가 주소창에 http://terzeron.net/lyr.....어쩌구.... 라고 입력을 하거나, 그러한 링크를 누릅니다.
 
2. 웹 브라우저는 인터넷상으로 terzeron.net 라는 컴퓨터를 찾아 접속한 후, 해당 페이지를 보내달라고 요청합니다.
 
3. terzeron.net라는 컴퓨터는 요청을 받아들이고 html소스를 웹 브라우져에 보내줍니다.
 
4. 웹 브라우져는 html소스를 사용자가 볼 수 있게 구성하여 화면에 보여줍니다.
 
 
 
이 4단계는 이해가 가시죠?
 
그런데, 2번 과정에서 해당 원격 컴퓨터(웹 서버라 부르죠)에게 페이지를 요청할 때에는
 
규정상 자신의 정보도 같이 보내도록 되어 있습니다.
 
그것을 요청헤더라고 하며,
 
자신의 IP주소, 브라우져 버젼, 운영체제 버젼, 언어설정(지역), 등등을 보내주죠
 
익스프롤러의 경우에는 브라우져 버전을 "익스프롤러 6.0" 이런식으로 보내겠지요..
 
 
 
이런 요청해더는 국제규격으로 정해져 있기 때문에
 
Inet컨트롤 역시 요청헤더를 보내도록 되어 있지요.
 
그런데 Inet컨트롤의 경우에는 요청헤더에다가 너무 솔찍하게 자신을 밝히는게 문제죠.
 
자신의 브라우져 버젼을 "인터넷 전송 컨트롤" 이런식으로 너무 티나게 보내버립니다.
 
 
 
그래서 가끔, 특별한 원격컴퓨터는 이 요청헤더를 보고,
 
마음에 들지 않으면 에러메시지를 보내버리는 경우도 있습니다.
 
위의 웹 페이지 역시 그런 기능이 있는것 같네요.....
 
 
 
이것을 해결하려면 몇가지 방법이 있겠는데요...
 
바로 소켓통신 수준에서 세밀하게 제어해 버리는 것입니다.
 
물론 이것의 의미는 인터넷 익스프롤러와 같이 아주 복잡한 처리과정을
 
직접 다 구현해야 한다는 의미이지요..
 
매우 까다로운 일이 될수 있습니다.
 
그러나 저러한 요청 헤더 역시 마음대로 수정할 수 있기 때문에,
 
거의 모든 웹 서버의 차단장치를 뚫을수 있습니다.
 
 
 
그리고 두번째의 좀더 쉬운 방법이 있는데요....
 
Inet컨트롤 말고, WebBrowser 이라는 컨트롤이 있습니다.
 
이것은 Inet보다 훨 강력한데요...
 
원래의 주 목적은 폼 위에 인터넷 익스프롤러를 통체로 삽입하는 기능이죠..
 
어찌되었건 이녀석은 요청 헤더에다가 '익스프롤러' 라고 찍어서 보내기 때문에
 
위의 방법으로 차단되지 않습니다.
 
 
그런데 문제는 이것은 어디까지나 웹페이지를 '보기' 위한 컨트롤이지,
 
'html 소스'를 다운받지는 못하죠..
 
그래서 편법으로 다운받는데요.. 그것이 100% 신뢰할수는 없으나...
 
그럭저럭 쓸만은 합니다.
 
위의 소켓 통신을 구현하는것 보다는 훨씬 나은 선택이 되실겁니다.
 
 
방법은 Inet와 비슷한데요...
 
아마 Inet컨트롤을 사용하기 위해서 구성요소 관리자에서
 
Microsoft Internat Transfer Control 6.0 을 선택하셨을 텐데요.
 
그 바로 위에 있는
 
Microsoft Internat Control 6.0 이게 바로 그겁니다.
 
이걸 선택하시고, 컨트롤을 Inet처럼 아무데나 조그맣게 그리세요.
 
그리고 다음과 같이 코딩합니다.
 
Dim url_Temp As String
Private Sub Form_Activate()
    url_Temp = "http://terzeron.net/lyrics/search.php?m_cat=1&s_cat=1&language=&musician=Chris Cornell&key=29384023&noaccess=1&song=Angel On Fire"
    WebBrowser1.Navigate url_Temp
End Sub
 
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    Dim i As Long
   
    Do Until Not Result = ""
        Result = WebBrowser1.Document.All(i).outerHTML
        i = i + 1
    Loop
   
    Text1.Text = Result

[ASP] 문자열 관련 함수

웹프로그램
ASP코드를 작성하다 보면 문자열을 다양한 방식으로 변환하거나 원하는 문자열을 뽑아낸다든지
 
하는 등의 작업들이 필요합니다. 다음 내용은 대표적인 문자열 관련 함수입니다.
 
UCASE, LCASE         => 문자열의 내용을 대문자, 소문자로 변환시켜준다.
LEN                         => 문자열의 길이를 반환한다.
LEFT, RIGHT, MID     => 문자열의 좌, 우, 중간에서 지정한 만큼의 문자열을 뽑아낸다.
INSTR, INSTRREV      => 해당되는 문자열의 좌측, 우측 위치를 반환한다.
LTRIM, RTRIM, TRIM => 문자열의 좌측, 우측, 전체의 공백을 제거한다.
REPLACE                 => 문자열의 내용중 일부를 다른 문자열로 변경한다.
SPLIT                       => 문자열에서 특정 문자열을 기준으로 나누어 배열로 저장한다.
 
 
1. UCASE, LCASE
- UCASE : 문자열의 내용을 모두 대문자로 변환시켜준다.
- LCASE : 문자열의 내용을 모두 소문자로 변환시켜준다.
- 표현법 : UCASE(변환대상문자열), LCASE(변환대상문자열)
<%
strTest = "I Love Kimo"
strUpper = UCASE(strTest)
strLower = LCASE(strTest)
 
Response.Write "원본글 : " & strTest & "<br>"
Response.Write "UCASE : " & strUpper & "<br>"
Response.Write "LCASE : " & strLower & "<br>"
%>
위 소스를 실행해 보면 다음과 같이 출력이 된다.
원본글 : I Love Kimo
UCASE : I LOVE KIMO
LCASE : i love kimo
 
2.  LEN
- 문자열의 길이를 반환합니다.
- 표현법 : Len(검색대상문자열)
<%
strTest1 = "I Love Kimo"
strTest2 = "안녕하세요"
 
intLength1 = LEN (strTest1)
intLength2 = LEN (strTest2)
 
Response.Write intLength1 & "<br>"
Response.Write intLength2
%>
결과를 보면 11과 5가 나옵니다. 영문과 한글모두 글자수 그대로 반환이 됨을 알 수 있습니다.
 
 
3.  LEFT, RIGHT, MID  
- LEFT 는 문자열에서 지정한 숫자만큼 왼쪽에서 부터 추출하여 반환합니다.
- RIGHT 는 문자열에서 지정한 숫자만큼 오른쪽에서 부터 추출하여 반환합니다.
- MID 함수는 문자열의 지정한 위치에서, 지정한 길이 만큼의 문자열을 반환합니다.
- 표현법 : LEFT(문자열,추출길이), RIGHT(문자열,추출길이), MID(문자열,시작위치,추출길이)
<%
strTest = "I Love Kimo"
strLeft = Left(strTest,5)
strRight = Right(strTest,4)
strMId = Mid(strTest,3,2)
 
Response.Write strTest & "<br>"
Response.Write strLeft & "<br>"
Response.Write strRight & "<br>"
Response.Write strMid & "<br>"
%>
위 소스의 결과는 아래와 같습니다. (공백도 한 글자로 인식)
I Love Kimo
I Lov
Kimo
Lo
 
4. INSTR, INSTRREV    
- INSTR은 해당되는 문자열이 좌측에서 몇번째에 존재한다는 위치를 반환합니다.
- INSTRREV은 해당되는 문자열이 우측에서 몇번째에 존재한다는 위치를 반환합니다.
- INSTR, INSTRREV 은 동일한 문자열이 있을경우 제일먼저 검색이 되는 위치입니다.
- 표현법 : Instr(검색대상,검색문자열),InstrRev(검색대상,검색문자열)
 
<%
strTest = "우리나라에서 제일 큰 강은 한강이다. 우리나라에서 제일 큰 산은 한라산이다"
strInstr = Instr(strTest,"나라")
strInstrRev = InstrRev(strTest,"나라")
 
Response.Write strInstr & "<br>" & strInstrRev
%>
결과를 보면 3 , 24 가 나옵니다. 검색할 문자열에서 "나라" 라는 문자열이 왼쪽에서 처음 검색되는 위치는 3이고 오른쪽에서 부터 검색하면 24가 됩니다.
 
 
5.  LTRIM, RTRIM, TRIM
- LTRIM : 문자열에서 왼쪽에 있는 공백을 제거한 결과를 반환.
- RTRIM : 문자열에서 오른쪽에 있는 공백을 제거한 결과를 반환.
- TRIM   : 문자열에서 양쪽에 있는 공백을 제거한 결과를 반환.
- 표현법 : LTRIM(문자열), RTRIM(문자열), TRIM(문자열)
<%
strTest = "   I Love You   "
strLTrim = LTrim(strTest)
strRTrim = RTrim(strTest)
strTrim = Trim(strTest)
 
Response.Write strTest & "<br>"
Response.Write strLtrim & "<br>"
Response.Write strRtrim & "<br>"
Response.Write strTrim & "<br>"
%>
위소스의 결과를 보면 브라우저에는 아래와 같이 결과가 동일해 보일겁니다.
I Love You
I Love You
I Love You
I Love You
그러나 소스보기를 해서 보면 어떤 차이가 있는지 금방 알 수 있습니다.
    I Love You     <br>I Love You     <br>    I Love You<br>I Love You<br>
원글은 양쪽으로 모두 3칸의 공백이 있고 LTRIM을 한 부분은 왼쪽공백이 제거 되어 있고
RTRIM을 한쪽은 오른쪽 공백이 TRIM을 한곳은 양쪽모두 공백이 제거 되었음을 알 수 있습니다.
 
6.  REPLACE
- 문자열 중에서 특정 내용을 다른 내용으로 바꾸려 할 때 REPLACE 함수를 사용합니다.
이 함수의 사용법은 다음과 같습니다.
- 표현법 : REPLACE(원본문자열,"변경대상문자열","변경할새로운문자열")
<%
strBefore = "I like you.. Do you like me?"
strAfter = REPLACE (strBefore, "like", "love")
Response.Write strBefore & "<br>"
Response.Write strAfter & "<br>"
%>
위 소스의 결과를 보면 위 문장에 있는 "like" 라는 단어가 "love"로 변경 된것을 알 수 있습니다.
이러한 REPLACE구문은 특히 게시판에서 글을 등록시킬때 많이 사용됩니다. (태그를사용하지 못하게 할 경우와 태그를 사용하게 하는 경우)
 
7. SPLIT
- 이 함수는 어떤 문자열에서 특정한 문자열 또는 기호를 기준으로 문자열을 분해한 다음,
분해된 문자열들을 배열에 저장하는 함수입니다.
- 표현법 : REPLACE(원본문자열,"분해기준")
<%
strTemp = "aaa, bbb, ccc, ddd, eee"
arrTemp = Split(strTemp,",")
 
Response.Write arrTemp(0) & "<br>"
Response.Write arrTemp(1) & "<br>"
Response.Write arrTemp(2) & "<br>"
Response.Write arrTemp(3) & "<br>"
Response.Write arrTemp(4) & "<br>"
%>
위 소스에서 strTemp에 저장된 데이터는 "," 를 기준으로 5개의 데이터가 있습니다.
Split 함수를 이용하여 "," 를 기준으로 기존 문자열을 분리하여 배열을 생성했습니다. Split 함수를
이용하면 자동으로 배열이 생깁니다.

[ASP] asp 페이징

웹프로그램


'페이지값 받기

  if  request("page")= "" then    
      page = 1
  else
      page = request("page")    
  end if
 
'한페이지에 보여줄 리스트갯수
listnum = 10
 
'전체리스트값
sqlt = "select count(코드값) from tablename"
set rst = dbcon.execute(sqlt)
totalnum = rst(0)
 
  SQL = "select * from tablename"
  Set Rs = Server.CreateObject("ADODB.Recordset")
  Rs.PageSize = listnum
 
  Rs.Open SQL, Conn, 1     '커서타입이 1이어야 하나? 흠흠
 
  totalpage = rs.PageCount       '전체페이지의 수를 저장
  rs.AbsolutePage = page         '현재 레코드셋의 커서를 페이지에 맞게 옮겨준다.
 
  start = (page-1) * listnum
  num = totalnum - start

  Do Until Rs.eof Or num > Rs.PageSize  '페이지가 EOF 이거나 혹은 페이지크기를 넘길경우
  %>
 페이징 출력시 <%=num%>
  출력할 내용들... 좔좔좔<br>
  <%
  Rs.movenext
  loop
  num = num - 1
  rs.close
 %>
 
 하단 페이징 부분

    <% if page <> 1 then %>
     <a href ="list.asp?page=<%=page-1%>">이전페이지</a>
    <% else %>
     <a href ="ist.asp?page=<%=page%>">이전페이지</a>
    <% end if %>
   
    <%for i = 1 to totalpage %>
    <a href ="list.asp?page=<%=i%>"><%=i%></a>
    <% next %>
   
    <% if(Cint(page) <> Cint(totalpage)) then %>
     <a href ="list.asp?page=<%=page+1%>">다음페이지</a>
    <% else %>
     <a href ="list.asp?page=<%=page%>">다음페이지</a>
    <% end if %>