Oracle 관련2006. 11. 16. 13:54
★ 테이블 복사
1. 테이블 생성 하면서 기존 테이블의 데이타까지 복사 할때 :
CREATE TABLE tablename_backup AS SELECT * FROM tablename;
2. 테이블 생성 하면서 기존 테이블의 데이타는 빼고 스키마만 복사 할때 :
CREATE TABLE 'tablename_schema' AS SELECT * FROMtablename WHERE 1=0;
:badtag -->var viewer_image_url = "http://blogimgs.naver.com/blog20/blog/layout_photo/viewer/"; var photo = new PhotoLayer(parent.parent.parent); photo.Initialized(); window.onunload = function() { photo.oPhotoFrame.doFrameMainClose(); }.bind(this);
★ 특정데이터 가져오기(테이블 다름)
insert bbs_file bno,filename,filesize,bid select bno,filename,filesize,bid from bbs_file_b;
★ 테이블 속성 변경
1. 테이블의 필드명을 다른 이름으로 변경
mysql>alter table 테이블명 change기존필드명 바꿀필드명 바뀐필드타입;

2. 기존 필드의 타입을 다른 타입으로 변경
mysql>alter table 테이블명 modify 필드명 바꿀필드타입;

3. 테이블에 새로운 필드 추가
mysql>alter table 테이블명 add 추가할필드명 필드타입;
*추가할 필드를 기존 테이블의 제일 마지막에 위치
mysql>alter table 테이블명 add 추가할필드명 필드타입;
*추가할 필드를 기존 테이블의 제일 첫번째에 위치
mysql>alter table 테이블명 add 추가할필드명 필드타입 first;
*추가할 필드를 기존 테이블의 중간에 위치
mysql>alter table 테이블명 add 추가할필드명 필드타입 after 생성될필드가 위치할 앞 필드명;
4. 특정한 필드 삭제
mysql>alter table 테이블명 drop 삭제할필드명;
5. 테이블명 변경
mysql>alter table 테이블명 rename 바뀔테이블명;
★ 테이블 삭제
delete * from tableName 하시면 테이블은 그대로 있고 안에 내용만 지워지고
drop table tableName 하시면 테이블 자체가 없어 집니다.
Posted by la30321
Oracle 관련2006. 11. 16. 13:38
오라클 8이상 부터는 SQL*Plus에서 COPY라는 명령어를 이용해서 테이블을 복사 할 수 있는
기능도 제공을 합니a다.


그런데 COPY명령어는 SQL*Net이 설치되어 있어야지만 사용 할 수 있습니다.

SQL*Net만 설치되어 있다면 다른 DB의 테이블도 복사를 해 올 수가 있습니다.

그리고 SQL*Plus에서만 사용 할 수 있습니다.



문법을 살펴보면은요..

SQL>
COPY FROM 복사해올유저명 CREATE 생성할 테이블명 USING 원본 테이블 질의



간단하게 예제를 하나 들면..

SQL>COPY FROM scott/tiger@oracle CREATE emp2 USING select * FROM emp;

배열의 인출/바인드 크기는 15입니다. (배열 크기는 15)
작업이 완성되면 커밋됩니다. (복사 완료: 0)
최대 긴 크기는 80 입니다. (롱 80)
테이블 EMP가 생성되었습니다.
14 행이 선택되었습니다(scott@oracle 로부터).
14 행이 입력되었습니다(EMP 에).
14 행이 EMP( DEFAULT HOST 연결의)으로 커밋되었습니다.


실행을 하면 위와 가은 메세지가 화면에 나옵니다. 설명을 하면은요..

scott/tiger@oracle : tnsnames.ora파일에 oracle이라는 서비스명으로 설정한 DB의 scott/tiger유저로 접속을 해서 emp 테이블을 emp2라는 이름으로 복사를 합니다.

아래는 tnsnames.ora파일의 일부분 입니다.
============== tnsnames.ora ================
ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 211.175.43.24)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle)
)
)
============================================

USING 문 뒤에는 복사할 테이블의 데이터를 가져오는 SQL문을 넣습니다.


위의 방법은 기존에..테이블을 복사하는 방법중에
CREATE TABLE table_name AS SELECT ~~ 문으로 복사하는 방법과 비슷합니다.

예를 들어보면..
SQL>CREATE TABLE emp2
AS
SELECT * FROM scott.emp;

이렇게 해서 emp테이블을 emp2테이블로 복사 할 수 있었습니다.



지금까지의 복사 방법은 데이터를 복사하면서 테이블을 새로 생성 하는 방법이었고..
기존에 생성되어 있는 테이블에 데이터만 복사 할 수 있는 기능도 제공을 합니다.

미리 만들어진 table에 입력할때는

SQL>COPY FROM scott/tiger@oracle CREATE emp2 USING select * FROM emp;

이 문법에서 CREATE를 INSERT로 바꺼 주시면 됩니다.


SQL>
COPY FROM scott/tiger@oracle INSERT emp2 USING select * from emp;

이렇게 하시면 됩니다.

위 문장은 아래의 방법과 조금은 비슷하다고 보시면 됩니다.
SQL>INSERT INTO emp2
SELECT * FROM emp;



데이터베이스 설정을 어떻게 해주냐에 따라서 조금은 다르지만.
COPY명령을 사용하면 다른 데이터베이스에서의 데이터를 좀더 쉽게 복사해 올 수 있습니다
.

Posted by la30321
Oracle 관련2006. 11. 16. 13:07

* 테이블에 코멘트 달기 */

--코멘트 처리

COMMENT ON TABLE AGE_SECTION IS '나이와 띠와의 관계';

-- 결과 확인
SELECT * FROM USER_TAB_COMMENTS;

/* 컬럼에 코멘트 달기 */

--코멘트 처리

COMMENT ON COLUMN AGE_SECTION.AGE IS '나이';
COMMENT ON COLUMN AGE_SECTION.FLD IS '띠';
COMMENT ON COLUMN AGE_SECTION.FLD2004 IS '2004년 띠코드';

-- 결과 확인
SELECT * FROM USER_COL_COMMENTS
WHERE TABLE_NAME='AGE_SECTION';

Posted by la30321
자주쓰는 참고소스2006. 2. 8. 14:23

Date() 객체
Date 객체는 날자와 시간을 사용하게 해 주는 내장객체입니다.
자바스크립트에서 시간과 날짜는 사용자 컴퓨터의 시간을 기준으로 하며, 그리니치 표준시 (GMT) 1970년 1월 1 00:00:00을 기준으로 합니다. 이 객체 역시 new 연산자를 통해 생성을 해 주어야만 사용할 수 있습니다.
일반적인 date 객체 생성형식은 다음과 같습니다

객체명 = new Date() // 시스템의 현재 날짜를 자동으로 지정

객체명 = new Date(,,,,,,1/1000) // 특정 날짜와 시간을 지정

객체명 = new Date(,,,1/1000) // 특정 시간을 지정

객체명 = new Date(,,,,: : 1/1000) // 문자열로 된 날짜와 시간을 지정

Date 객체에서 지원하는 메소드는 아래와 같습니다

getYear()/setYear()

연도표시/설정

getMonth()/setMonth()

(0-11)표시/설정

getDate()/setDate()

(1-31)표시/설정

getDay()/setDay()

요일(0-6)표시/설정

getHours()/setHours()

(0-23)표시/설정

getMinutes()/setMinutes()

(0-59)표시/설정

getSeconds()/setSeconds()

(0-59)표시/설정

getTime()/setTime()

기준시(19701100:00:00)를 기준으로 경과된 시간을 milisecond 로 표시/설정

toString()

날짜와 시간을 문자열로 변환

toLocaleString()

날짜와 시간을 지역시간 문자열로 변환

toGMTString()

날짜와 시간을 GMT 문자열로 변환

getTimezoneOffset()

GMT 와 지역시간의 차이를 분단위로 표시

getFullYear()/setFullyear()

연도수를 4자리수로 표시/설정

, 날자와 시간을 문자열로 변환시켜주는toString(),toLocaleString(),toGMTString() 메소드 등이 있는데 하나씩 차근차근 공부해 보기로 합니다

먼저,오늘날짜를 출력하는 스크립트 예제를 공부해보도록 하죠.

1. <SCRIPT LANGUAGE="JavaScript">

2. <!--

3. now = new Date();

4. year = now.getYear();

5. month = (now.getMonth()+1);

6. date = now.getDate();

7. today = "오늘은 " + year + " " + month + " " + date + " 일 입니다";

8. document.write(today);

9. //-->

10. </SCRIPT>

3번행 : now 라는 날짜변수를 생성합니다

4번행 : 현재의 연도를 구해서 year 라는 변수에 저장합니다

5번행 : 현재의 월에 해당하는 값을 구해서 month 라는 변수에 저장합니다. 좀 이상하다구요? 1을 더했냐구요? getMonth() 메소드를 이용해서 반환받는 값은 1=0, 2=1, 3=2....12=11 처럼 0부터 시작해서 11 까지입니다. 따라서 실질적인 월을 적용하려면 반환된 값에서 1을 더해주어 사용해야 합니다

6번행 :오늘의 날짜 값을 구합니다

7번행 : 각각의 변수와 문자열을 조합해서 출력할 내용을 today 라는 새로운 변수에 담습니다

8번행 : today 변수값을 출력 합니다

이번에는요일까지 함께 나타나도록 해 볼까요?

요일을 구하려면 getDay() 메소드를 사용한다고 하였습니다.

그런데, getDay() 메소드에 의해 반환되는 값은 아쉽게도 0부터 6 까지의 숫자입니다. 따라서 우리가 원하는 월요일, 화요일... 처럼 문자열로 된 값을 반환받으려면 모종의 조치 (?)를 취해 주어야 합니다.

앞서 배운 Array() 배열을 이용하여 멋지게 요일을 출력 하도록 해 보겠습니다

1. <SCRIPT LANGUAGE="JavaScript">

2. <!--

3. now = new Date();

4. year = now.getYear();

5. month = (now.getMonth()+1);

6. date = now.getDate();

7.

8. week = new Array("일요일","월요일","화요일","수요일","목요일","금요일","토요일");

9. weekday = week[now.getDay()];

10.

11. today = "오늘은 " + year + " " + month + " " + date + " " + weekday + " 입니다";

12. document.write(today);

13. //-->

14. </SCRIPT>

6번행까지는 위의 오늘날짜 구하는 코드와 다른 것이 없습니다.

8번행에서 각각의 요일값에 해당하는 문자열을 일요일부터 차례대로 넣어 week 라는 배열변수를 만들었습니다. 어디에 사용될까요?

, 9번행을 볼까요?weekday = week[] 이 구문은 week 배열에서 특정 순서에 있는 배열값을 불러와 weekday 라는 새로운 변수에 저장하도록 한 구문입니다. , 요일값을 반환하는getDay() 메소드는 0부터 6 까지의 숫자를 반환한다고 하였으니, 만약 오늘이 일요일이면 0, 월요일이면 1을 반환하게 되겠죠? 그러면 weekday = week[0],weekday = week[1],.. 이런식으로 오늘의 요일값에 해당하는 숫자가 배열번호로 적용되어 결국 일요일, 월요일,.. 처럼 문자열을 대입받게 됩니다.

이해가 가시나요? 잘 이해가 가지 않는다면 앞서배운 배열 부분도 다시한번 살펴 보도록 하세요

이번에는 복습하는 의미에서 역시 앞에서 배운 if ~ else 문을 이용해 오전인지 오후인지를 구분하여 현재의 시간을 나타내 보도록 하겠습니다.

어때요? 점점 재미있어지지 않나요?

1. <SCRIPT LANGUAGE="JavaScript">

2. <!--

3. now = new Date();

4. hour = now.getHours();

5. min = now.getMinutes();

6. var ampm;

7. if (now.getHours() <= 12) {

8. ampm = "오전";

9. }

10. else {

11. ampm = "오후";

12. }

13.

14. now_time = "지금은 " + ampm + ", " + hour + " " + min + " 분 입니다";

15. document.write(now_time);

16. //-->

17. </SCRIPT>

오전인지 오후인지를 구분하는 것은 하루를24 생각하여 12보다 같거나 적으면 오전이되고, 12 넘어 24 까지는 오후로 취급 됩니다.
6
번행에서 우선 오전오후를 문자열로 표현하기 위한 변수 ampm을 선언합니다.
7
번행에서 만약 getHours() 메소드로 얻어진 값이 12보다 적거나 같으면(, 오전이면) ampm 이라는 변수에 "오전" 이라는 문자열을 할당하고, 그렇지 않을 경우 (12 보다 클 경우)에는 "오후" 라는 문자열을 ampm 에 할당하고 있습니다.
이번에는 getTime() 메소드를 이용하여 특정일로부터 지난시간, 그리고 특정일까지 남은 일수를 계산하는 스크립트를 코딩 해 보도록 하겠습니다

1. <SCRIPT LANGUAGE="JavaScript">

2. <!--

3. now = new Date();

4. dDay = new Date(2005,1,1);

5.

6. now2 = now.getTime();

7. dDay2 = dDay.getTime();

8.

9. count = dDay2 - now2;

10. count = Math.floor(count/(24*3600*1000));

11.

12. document.write("2005년 까지 남은 일수는 " + count + " 일 입니다");

13. //-->

14. </SCRIPT>

, 이 예문에서는 new 연산자를 두 번 사용하였습니다.
첫 번째(3번행)는 오늘의 현재시간값을 가져오고, 두 번째(4번행) d-day , 특정일의 날짜를 지정하기 위해 사용하였습니다.
그리고 나서 각각의 시간을 getTime() 메소드를 사용하여 1970년 1월 1 00 00 00 초를 기준으로 한 시간으로 바꾸어 주었습니다(6,7번행). 그렇게 해야 두 날짜간의 시간간격을 계산할 수 있으니까요. 참고로 한번 더 설명하자면 getTime() 메소드로 얻어진 날짜값은 1/1000 초 단위로 받환됩니다.
그다음,9번행에서 두 번째 날짜에서 오늘 날짜를 뺀값을 계산하여 count 라는 변수에 저장한 후, 그 값을 일수(1/000 초 단위를 일단위로)로 변환한 후 다시 count 변수에 저장하였습니다.
10번행에서는 처음보는 함수가 나왔죠? Math 함수는 조금 있으면 배우게 될 수학계산을 위한 객체입니다.Math.floor() 는 계산후 남는 값을 버린다는 의미로 일단 이해합니다.
이렇게 해서 특정일까지 남은 일수를 계산할 수 있는데, 반대로 지나온 일수를 계산하려면 9번행의 식을 거꾸로 해 주면 되겠죠.

Date() 객체에 대한 것은 너무 오래하면 지루하니까 이쯤에서 접도록 하죠.

다음시간에는 방금 보았던 Math() 객체에 대해 알아보도록 하겠습니다.

Math 객체

Math 객체는 수학계산이나 난수 등을 얻기 위하여 사용되는 객체로서 다른 내장객체와 달리 정적 객체으므로 new 연산자 없이 사용할 수 있습니다.

Math.속성 혹은 Math.메소드

Math 객체의 주요 속성과 메소드는 아래와 같습니다

속성

E

자연로그 밑에 사용되는 오일러 상수

LN10

10의 자연로그

LN2

2의 자연로그

Log10E

LOG2E

PI

원주율

SQRT1_2

1/2의 제곱근

SQRT2

2의 제곱근

메소드

abs(n)

n의 절대값

acos(n)

n의 역 코사인 값

asin(n)

n의 역 사인값

atan(n)

n의 역 탄젠트값

atan2(x,y)

지정된 x,y 좌표에서의 역 탄젠트 값을 반환

cos(n)

n의 코사인값

sin(n)

n의 사인 값

sqrt(n)

n의 제곱근

tan(n)

n 의 탄젠트 값

ceil(n)

n을 올림한 값

exp(n)

오일러 상수 e n승 한 값

floor(n)

n을 내림한 값

log(n)

n의 자연로그 값

max(n,m)

둘 중 큰 수

min(n,m)

둘 중 작은 수

pow(n,m)

n m

random()

0 1사이의 난수 반환

round(n)

n을 반올림한 값

위의 메소드 중에서 녹색부분은 비교적 자주 사용되는 메소드 들이니까 그 사용법을 자세히 알아두는 것이 좋습니다

Math 객체중 아주 많이 사용되는 random() 메소드를 사용하여 페이지 로딩시마다 다른 메시지를 보여주는 스크립트를 만들어 보도록 하겠습니다

1. <SCRIPT LANGUAGE="JavaScript">

2. <!--

3. message = new Array();

4. message[0] = "아는길도 물어가라";

5. message[1] = "천리길도 한걸음 부터";

6. message[2] = "세살버릇 여든간다";

7. message[3] = "바늘도둑이 소도둑 된다";

8. message[4] = "낫놓고 기역자도 모른다";

9. random_message = Math.floor(Math.random()*5);

10. random_message = message[random_message];

11. document.write(random_message);

12. //-->

13. </SCRIPT>

3번행부터 8번행까지는 message 라는 배열을 생성하고 그 값을 할당하는 코드입니다.

9번행은 나중에 10번행에서 message 변수의 배열번호를 생성하기 위해 Math 메소드를 사용하였습니다. 먼저 Math.random()*5 부분을 설명하면, random() 메소드가 0 1 사이의 난수를 발생시킨다고 하였습니다. 이 메소드를 사용하면 0.9430309596662887, 0.7973843631502664, 0.06254295714207958 등과 같이 0 보다는 크고 1 보다는 적은 수를 반환하게 되는데, 이러한 수에 배열값의 갯수(length)를 곱하고 floor() 메소드를 다시 적용하게 되면, 0에서 4 까지의 정수값을 반환해 줍니다. floor() 메소드는 Math.random()*5 의 계산결과에서 정수값을 제하고 남는 나머지 소수점 이하부분을 버리게 되니까요.

배열을 착실하게 공부하신 분들은 Math.random()*5 대신에 Math.random()*message.length를 사용해도 된다는 것을 깨달을 수 있을 것입니다.

이렇게 해서 얻게된 0부터 5 까지의 수를 10번행에서 배열번호로 사용하게 되는 것이므로 결과적으로 랜덤하게 배열번호를 생성하여 그 번호에 해당하는 메시지를 출력 할 수 있게 됩니다.

이처럼, Math 객체는 랜덤하게 메시지나 이미지, 기타 내용들을 출력하고자 할 때 많이 사용됩니다.

Math 객체를 이용해서 홈페이지를 더욱 생동감 넘치는 살아 있는 홈으로 가꾸어 보세요

Posted by la30321
자주쓰는 참고소스2006. 1. 23. 14:38

HTML 파일 내에 css 스타일 파일을 삽입

<style type="text/css">
<!--

@import url("style.css");
-->
</style>

=====================

window 객체 .........................................................


아래는 최상위 window객체가 가진 속성과 메서드,이벤트 핸들러의 종류를 훓어보고 몇가지 예제를 해본다. 필요한 작업이 있을 때마다 객체를 찾아보고 속성이 있나, 메서드를 가졌나, 이벤트핸들러가 있는지를 찾아봄으로써 점점 내공이 깊어지는 것이다.


■ window 객체 프로퍼티
status브라우저의 상태바에 문자열을 출력하는 경우에 사용
defaultStatus브라우저의 상태바에 초기 문자열을 설정
length창안의 프레임 수
name창 이름
self현재 창 자신, window와 같음
window현재 창 자신, self와 같음
parent프레임에서 현재프레임의 상위프레임
top현재프레임의 최상위프레임
openeropen()으로 열린 창에서 볼 때 자기를 연 창
documentdocument 오브젝트
frames창안의 모든 프레임에 대한 배열정보
historyhistory 오브젝트 및 배열
locationlocation 오브젝트
closed창이 닫혀 있는 상태
locationbarlocation 바
menubar창 메뉴 바
innerHeight창 표시 영역의 높이(픽셀), 익스플로러 지원되지 않음
innerWidth창 표시 영역의 너비(픽셀), 익스플로러 지원되지 않음
outerHeight창 바깥쪽 둘레의 높이, 익스플로러 지원되지 않음
outerWidth창 바깥쪽 둘레의 너비, 익스플로러 지원되지 않음
pageXOffset현재 나타나는 페이지의 X위치, 익스플로러 지원되지 않음
pageYOffset현재 나타나는 페이지의 Y위치, 익스플로러 지원되지 않음
personalbar창의 퍼스널 바
scrollbar창의 스크롤 바
statusbar창의 상태 바
toolbar창의 툴 바


■ window 객체 메서드
alert()경고용 대화상자를 보여줌
clearTimeout()setTimeout 메소드를 정지
confirm()확인, 취소를 선택할 수 있는 대화상자를 보여줌
open()새로운 창을 오픈
prompt()입력창이 있는 대화상자를 보여줌
setTimeout()일정 간격으로 함수를 호출하여 수행, millisecond 단위로 지정
eval()문자열을 숫자로 바꿈
toString()오브젝트를 문자열로 바꿈
blur()focus를 이동
focus()focus를 줌
scroll()창을 스크롤 함
valueOf()오브젝트 값을 반환
back()한 단계 전 URL(이전화면)로 돌아감. 익스플로러 지원 안함
find()창안에 지정된 문자열이 있는지 확인, 있다면 true 없으면 false. 익스플러러 지원 안함
forward()한 단계 뒤의 URL(다음화면)로 이동. 익스플로러 지원 안함
home()초기화 홈페이지로 이동. 익스플로러 지원 안함
moveby()창을 상대적인 좌표로 이동. 수평방향과 수직방향의 이동량을 픽셀로 지정
moveto()창을 절대적인 좌표로 이동. 창의 왼쪽 상단 모서리를 기준으로 픽셀을 지정
resizeby()창의 크기를 상대적인 좌표로 재설정. 밑변의 모서리를 기준으로 수평방향, 수직방향을 픽셀로 지정
resizeto()창의 크기를 절대적인 좌표로 재설정. 창 크기를 픽셀로 지정
scrollby()창을 상대적인 좌표로 스크롤. 창의 표시영역의 수평방향과 수직방향에 대해 픽셀로 지정
scrollto()창을 절대적인 좌표를 스크롤. 창의 왼쪽 상단 모서리를 기준으로 픽셀로 지정
stop()불러오기를 중지. 익스플로러는 지원 안함
captureEvents()모든 타입의 이벤트를 판단
setInterval()일정시간마다 지정된 처리를 반복
clearInterval()setInterval 메소드의 정지
handleEvent()이벤트 취급자를 정함
print()화면에 있는 내용을 프린터로 출력
releaseEvent()다른 계층의 이벤트로 이벤트를 넘김
routeEvent()판단한 이벤트와 같은 계층의 이벤트
toSource()오브젝트값을 문자열로 반환


■ window 객체 이벤트핸들러
onBlur브라우저가 포커스를 잃을 때 발생
onDragDrop사용자가 다른곳에서 객체를 브라우저 안에 넣으려고 할 때 발생. 익스플로러는 지원 안함
onError문서를 읽는 중에 에러가 생길 때 발생
onFocus브라우저에 포커스를 얻을 때 발생
onLoad문서를 읽을 때 발생
onMove브라우저의 위치를 변경했을 때 발생. 익스플로러는 지원 안함
onResize창의 크기를 변경했을 때 발생. 익스플로러는 지원 안함
onUnload현재 문서를 지울려고 할 때 발생


■ 새창열기 open() 메서드
window.open("문서url","창이름","창의 특성")

웹여행중에 많이 본 것일텐데 링크나,버튼,이미지를 누를 때 많이 뜨죠!

첫째인수로 url이 필요하죠. 새창에도 내용을 넣어야 하니까요.
둘째인수로 창이름, 이게 같은 경우엔 계속 창을 열 때 새로 열지 않고 이미 열린 창을 이용합니다.
세째인수는 새로 열릴 창의 너비,높이,툴바,상태바등을 지정하는거죠.


■ 창의특성
directoriesyes || no익스플로러 연결도구모음, 익스플로러 전용
locationyes || no주소입력란
menubaryes || no메뉴표시줄
scrollbarsyes || no스크롤바
statusyes || no상태표시줄
toolbaryes || no도구모음
copyhistoryyes || no히스토리정보를 복사
resizableyes || no창 크기 조절 가능여부
width픽셀창의 너비
height픽셀창의 높이
<script language="javascript">
// 페이지로딩시 새창 열기

function winOpen() {
window.open("123.html","newWin","width=300,height=200,toolbar=no")
}
</script>

<body onLoad="winOpen()">

<script language="javascript">
// 클릭시 새창열기

function winOpen() {
window.open("123.html","newWin","width=300,height=200,toolbar=no")
}
</script>

<font onClick="winOpen()">
<script language="javascript">
// 클릭시 새창열기 , 링크에서

function winOpen() {
window.open("123.html","newWin","width=300,height=200,toolbar=no")
}
</script>

<font onClick="winOpen()"> 클릭열기 </font>
<a href="javascript:winOpen()"> 링크열기 </a>
<script language="javascript">
// 매개변수를 이용하기

function winOpen(url,winname,winhow) {
window.open(url,winname,winhow)
}
</script>

<a href= "javascript:winOpen('123.html','newWin','width=300,height=200,toolbar=no')"> 매개열기 </a>


■ 새창열기 close() 메서드
<script language="javascript">
function winClose() {
window.close()
}
</script>

<a href= "javascript:winClose()"> 함수이용해서 닫기 </a>

<a href= "javascript:window.close()"> 메서드 이용 닫기 </a>


■ 새로 열린 창에서 연 창을 컨트롤하기
<script language="javascript">

// 창 닫기 전에 연 창의 폼요소에 값 넘기기

function winClose(addr) {
opener.form1.address=addr
self.close()
}
</script>

<a href= "javascript:winClose('서울 종로구')"> 종로구</a>
<a href= "javascript:winClose('서울 마포구')"> 마포구</a>
<script language="javascript">

// 창 닫기 전에 연 창을 리로드하기

function winClose() {
opener.location.reload()
self.close()
}
</script>

<a href= "javascript:winClose()"> 함수이용해서 닫기 </a>


■ 새로 열린 창에서 크기 조절하기 window.resizeTo
<script language="javascript">
// 페이지로딩시 크기 조절

function winSize() {
window.resizeTo(300,200) // 너비,높이
}
</script>

<body onLoad="winSize()">


■ 새로 열린 창에서 위치 조절하기 window.moveTo
<script language="javascript">
// 페이지로딩시 위치 조절

function winMove() {
window.moveTo(200,200) // X,Y 좌표
}
</script>

<body onLoad="winMove()">

window 객체에서 가장 많이 사용되는 필수 기능인 새창관련만 살펴보았다.
나머지는 필요할 때 검색을 통해 많은 예제 소스를 접할 수 있을 것이다!!!

Posted by la30321