Javascript 폴더 선택을 위한 두 가지 솔루션 box_javascript 기술
javascript
접는 사람
선택 상자
해결책 1:
Windows 셸을 호출하면 보안 문제가 발생합니다.
* browserFolder.js
* 이 파일은 다음을 제공하는 BrowseFolder() 함수를 정의합니다. 사용자가 시스템 폴더 선택 기능을 구현하기 위한 폴더 선택 대화 상자
*
* 폴더 선택 대화 상자의 시작 디렉터리는
* Shell.BrowseForFolder(WINDOW_HANDLE, Message, OPTIONS, strPath에 의해 결정됩니다. ) 함수
*
*의 strPath 매개변수 설정 예: 0x11--내 컴퓨터
* 0 --Desktop
* "c:\"--시스템 C 드라이브
*
* 이 기능을 HTML 파일에 적용하려면 다음 코드를 사용하세요.
*
* 또는 다음 코드를 tag;
* 보안 문제로 인해 이 JS 코드를 올바르게 실행하려면 다음 설정도 필요합니다.
* 그렇지 않으면 "권한 없음" 문제가 발생합니다.
*
* 1. 신뢰할 수 있는 사이트를 설정합니다(예: 로컬 사이트는 http://localhost일 수 있음).
* 2. 둘째: 신뢰할 수 있는 사이트 보안 수준의 사용자 정의 설정에서 다음 옵션을 설정합니다.
* "안전한 것으로 표시되지 않은 ActiveX 컨트롤 초기화 및 스크립트 실행"----"활성화"
browserFolder.js:
/**//***
path 값을 표시할 객체 ID
****/
function browserFolder(path) {
try {
var Message = "u8bf7u9009u62e9u6587u4ef6u5939"; //선택 상자 프롬프트 메시지
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //시작 디렉터리는 내 컴퓨터입니다.
//var Folder = Shell.BrowseForFolder(0,Message,0); 시작 디렉토리는 :Desktop
if (Folder != null) {
Folder = Folder.items(); // FolderItems 객체 반환
Folder = Folder.item(); // Folderitem 객체 반환
Folder = Folder.Path; // 반환 경로
if (Folder.charAt(Folder.length - 1) != "\") {
Folder = 폴더 "\"
} document.getElementById(경로).value = 폴더;
return Folder;
}
}
catch(e) {
alert(e.message)
}
사용시 :
<입력 유형= "button" onclick= "browseFolder('path')"
value="생성 경로 선택" />
2. 🎜>직접 작성하세요. js는 로컬 하드 디스크의 선택 상자를 읽습니다. 단점은 이전보다 모양이 나빠진다는 것입니다.
코드 복사.
Windows 셸을 호출하면 보안 문제가 발생합니다.
* browserFolder.js
* 이 파일은 다음을 제공하는 BrowseFolder() 함수를 정의합니다. 사용자가 시스템 폴더 선택 기능을 구현하기 위한 폴더 선택 대화 상자
*
* 폴더 선택 대화 상자의 시작 디렉터리는
* Shell.BrowseForFolder(WINDOW_HANDLE, Message, OPTIONS, strPath에 의해 결정됩니다. ) 함수
*
*의 strPath 매개변수 설정 예: 0x11--내 컴퓨터
* 0 --Desktop
* "c:\"--시스템 C 드라이브
*
* 이 기능을 HTML 파일에 적용하려면 다음 코드를 사용하세요.
*
* 또는 다음 코드를 tag;
* 보안 문제로 인해 이 JS 코드를 올바르게 실행하려면 다음 설정도 필요합니다.
* 그렇지 않으면 "권한 없음" 문제가 발생합니다.
*
* 1. 신뢰할 수 있는 사이트를 설정합니다(예: 로컬 사이트는 http://localhost일 수 있음).
* 2. 둘째: 신뢰할 수 있는 사이트 보안 수준의 사용자 정의 설정에서 다음 옵션을 설정합니다.
* "안전한 것으로 표시되지 않은 ActiveX 컨트롤 초기화 및 스크립트 실행"----"활성화"
browserFolder.js:
코드 복사 코드는 다음과 같습니다.
/**//***
path 값을 표시할 객체 ID
****/
function browserFolder(path) {
try {
var Message = "u8bf7u9009u62e9u6587u4ef6u5939"; //선택 상자 프롬프트 메시지
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //시작 디렉터리는 내 컴퓨터입니다.
//var Folder = Shell.BrowseForFolder(0,Message,0); 시작 디렉토리는 :Desktop
if (Folder != null) {
Folder = Folder.items(); // FolderItems 객체 반환
Folder = Folder.item(); // Folderitem 객체 반환
Folder = Folder.Path; // 반환 경로
if (Folder.charAt(Folder.length - 1) != "\") {
Folder = 폴더 "\"
} document.getElementById(경로).value = 폴더;
return Folder;
}
}
catch(e) {
alert(e.message)
}
사용시 :
코드복사 코드는 다음과 같습니다.
< ;td> <입력 유형= "button" onclick= "browseFolder('path')"
value="생성 경로 선택" />
2. 🎜>직접 작성하세요. js는 로컬 하드 디스크의 선택 상자를 읽습니다. 단점은 이전보다 모양이 나빠진다는 것입니다.
코드 복사.