사용자가 자신의 PC 파일을 열어 직접 실행시키기 > script

본문 바로가기
사이트 내 전체검색

script

사용자가 자신의 PC 파일을 열어 직접 실행시키기

페이지 정보

작성자 서방님 댓글 0건 조회 205회 작성일 06-09-12 17:21

본문

인터넷 익스플로러에서는 http 프로토콜을 통해 읽어들인 페이지가 로컬 파일(file 프로토콜)을 여는 것을 허용한다. 반면 넷스케이프는 트러스티드(trusted) 스크립트가 필요하다. 여기서는 인터넷 익스플로러 및 넷스케이프에서 모두 동작하는 스크립트를 살펴보도록 하겠다.
아래 "찾아보기..." 버튼을 클릭하여 자신의 컴퓨터에서 브라우저로 읽어들일 수 있는 파일(html, 텍스트, 이미지,...)을 선택한 후 "파일 열기" 버튼을 클릭해 보기 바란다.
  
위 결과에 대한 소스 코드는 다음과 같다.
<SCRIPT>
function displayLocalFile (strFileName) {
  var url = 'file:///' + strFileName;
  //넷스케이프의 경우...
  if (document.layers && location.protocol.toLowerCase() != 'file:' && navigator.javaEnabled())
    netscape.security.PrivilegeManager.enablePrivilege('UniversalFileRead');
  open (url, 'preview');
}
</SCRIPT>
 
<FORM NAME="myForm">
<INPUT TYPE="file" NAME="myFile">  
<INPUT TYPE="BUTTON" VALUE="파일 열기" ONCLICK="displayLocalFile(this.form.myFile.value);">
</FORM>
 
HTML에서 파일을 찾아볼 수 있는 버튼을 만들려면 <input type=""file"...>을 해주면 된다.
사용자가 파일 열기 버튼을 클릭하면 (onCLick 이벤트 발생) 찾아보기 버튼을 통해 읽어들인 파일명(여기서는 this.form.myFile.value)을 displayLocalFile 함수의 파라미터로 넘겨준다.
displayLocalFile 함수에서는 이 파라미터를 받아 "file:///" 프로토콜 문자열과 연결시켜 open 메쏘드로 호출하면 되는 것이다. 다만 넷스케이프의 경우 트러스티드 스크립트가 필요하므로 eneblePrivilege 메쏘드를 이용하여 셋팅하도록 한다.
 

댓글목록

등록된 댓글이 없습니다.

Total 846건 53 페이지
게시물 검색

회원로그인

접속자집계

오늘
124
어제
225
최대
1,347
전체
154,883
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.