새 창 을 팝 업 하고 새 내용 을 기록 합 니 다.

3786 단어 기록 하 다
자 바스 크 립 트 에 서 는 window. open () 방법 으로 새 창 을 팝 업 할 수 있 습 니 다.예 를 들 면:
var win = window.open("newwin.html", "somename", "fullscreen");


첫 번 째 매개 변 수 는 새 창 에 불 러 온 웹 페이지 의 URL 주 소 를 가 리 킵 니 다.두 번 째 매개 변 수 는 새 창의 이름 을 가리 키 며, 열 린 창 과 같은 이름 이면 새 창 을 따로 열지 않 고 이 창 에서 열 립 니 다.세 번 째 매개 변 수 는 새 창의 각종 외관 속성 을 가리 키 는데 주소 표시 줄, 상태 표시 줄, 스크롤 바, 크기 위치, 전체 화면 여부 등 을 포함한다. 안전 상의 고려 로 인해 많은 브 라 우 저 들 이 이러한 속성 에 대한 제한 을 추 가 했 기 때문에 이런 속성 이 모두 효과 가 있 는 것 은 아니다.
첫 번 째 인 자 를 빈 문자열 로 설정 한 다음 document. write () 방법 으로 새 창의 웹 페이지 내용 을 쓸 수 있 습 니 다.예 를 들 면:
var win = window.open("", "somename", "fullscreen");

var doc = win.document;

doc.write('<!DOCTYPE html><html><head>');

doc.write('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />');

doc.write('<link rel="stylesheet" type="text/css" href="style.css" />');

doc.write('<script type="text/javascript" src="one.js"><\/script>');

doc.write('<script type="text/javascript" src="two.js"></scr' + 'ipt>');

doc.write('</head><body>');

doc.write('<div id="somediv">' + 'Hello New Window!' + '</div>');

doc.write('</body></html>');

doc.close();


새 창 이 열 릴 때 웹 페이지 내용 을 기록 하기 때문에 document. open () 을 사용 할 필요 가 없습니다.script 요 소 를 쓸 때 문자열 < / script > 을 특별 처리 해 야 합 니 다. 그렇지 않 으 면 브 라 우 저 는 스 크 립 트 가 여기 서 끝났다 고 생각 하여 오류 가 발생 할 수 있 습 니 다.위의 예 에서 one. js 와 to. js 에 대해 각각 전의 와 분할 두 가지 방법 으로 이 문 제 를 처리 하고 첫 번 째 방법 을 추천 합 니 다.
또한, 위의 코드 는 IE9 이전 및 Opera 에 문제 가 있 을 수 있 습 니 다. url 이 비어 있 기 때문에 상대 적 인 경로 의 css 와 js 파일 로 읽 을 수 없습니다.절대 경 로 를 바 꾸 더 라 도 Opera 11.62 에 서 는 더 이상 한 현상 이 발생 할 수 있 습 니 다. 새 창 을 차단 하고 클릭 하면 팝 업 창 을 열 수 있 습 니 다. 위의 코드 는 정상적으로 실 행 될 수 있 습 니 다.팝 업 창 을 차단 하지 않 는 것 으로 설정 되 어 있 습 니 다. 위 코드 가 실 행 될 때 팝 업 창의 내용 은 첫 번 째 js 파일 이후 차단 되 었 습 니 다. (오른쪽 단추 메뉴 에서 '요소 검사' 를 선택 하면 창의 원본 코드 를 볼 수 있 습 니 다.)이 괴이 한 현상 은 아마도 Opera 의 문제 일 것 이다.
2012 - 07 - 01 업데이트: 상기 문 제 는 여러 번 doc. write 로 인 한 브 라 우 저 처리 차이 일 것 입 니 다. 다음 의 모든 doc. write 로 바 꾸 면 정상 입 니 다.
var win = window.open("", "somename", "fullscreen");

var doc = win.document;

var content = [

    '<!DOCTYPE html><html><head>',

    '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',

    '<link rel="stylesheet" type="text/css" href="style.css" />',

    '<script type="text/javascript" src="one.js"><\/script>',

    '<script type="text/javascript" src="two.js"></scr' + 'ipt>',

    '</head><body>',

    '<div id="somediv">' + 'Hello New Window!' + '</div>',

    '</body></html>'].join('');

doc.write(content);

doc.close();

참고 자료: [1]  window.open - MDN [2]  JavaScript - Popups [3]  JavaScript makes new page that contains more JavaScript? [4]  Writing HTML in a SCRIPT Element

좋은 웹페이지 즐겨찾기