권장 : 팝업 창을 "순종적"으로 조금 만듭니다 인터넷을 서핑하는 동안 일부 웹 사이트에 입력 할 때 팝업이 나타납니다. 웹 마스터에서 당신에게 친절한 인사를하거나 웹 사이트, 웹 사이트 광고 등의 중요한 발표 일 수도 있지만, 그것을 사용하지 않으면 사람들이 지루하게 느끼게 할 것입니다. 탐색에 영향을 미치지 않고 팝업을 작동시키는 방법
ASP를 사용하여 서버 측 애플리케이션을 작성할 때는 다음과 같은 강력한 웹 응용 프로그램의 기능에 ActiveX 구성 요소에 의존해야합니다. 데이터베이스에 연결하고 온라인으로 데이터베이스를 작동해야합니다.
1. 브라우저 기능 구성 요소는 잘 알려져 있으며 모든 브라우저가 오늘날의 인터넷 기술의 모든 측면을 지원하는 것은 아닙니다. 일부 브라우저가 지원하는 기능이 있지만 ActiveX 컨트롤, 이미지 스트림, 동적 HTML, 플래시 및 스크립팅 프로그램과 같은 다른 브라우저가 제공하지 않습니다. ASP의 브라우저 기능 구성 요소를 사용하면 스마트 웹 페이지를 디자인하여 브라우저 성능에 적합한 형식으로 컨텐츠를 제시 할 수 있습니다. 브라우저 기능 구성 요소는 클라이언트 웹 브라우저의 기능 설명을 사용자 스크립트에 제공하는 BrowserType 객체를 만들 수 있습니다. 이 구성 요소가 클라이언트 브라우저 버전과 같은 정보를 식별 할 수있는 이유는 주로 클라이언트 브라우저가 서버에 페이지 요청을 보낼 때 브라우저 및 해당 버전을 선언하는 ASCII 문자열 인 사용자 에이전트 HTTP 제목을 자동으로 전송하기 때문입니다. 브라우저 기능 구성 요소는 사용자 에이전트를 파일 browscap.ini에 표시된 브라우저에 맵핑하고 BrowserType 객체의 속성을 통해 클라이언트 브라우저를 식별합니다. 객체가 Browser.ini 파일의 제목과 일치하는 항목을 찾을 수없는 경우 기본 브라우저 속성이 사용됩니다. 객체에 일치가 발견되지 않았고 기본 브라우저 설정이 Browser.ini 파일에 지정된 경우 각 속성을 문자열로 알려지지 않았습니다. 기본적으로 Browser.ini 파일은 Windows //// System /// inersrv (95/98 PWS4) 또는 NT ////////////////// inersrv (NT) 디렉토리에 저장됩니다. 이 텍스트 파일을 직접 편집하여 자신의 속성을 추가하거나 최신 브라우저 버전 업데이트 파일에 따라 파일을 수정할 수 있습니다. 다음 CheckCookie () 프로세스를 참조하십시오. Browsercap 객체의 쿠키 속성을 사용하여 클라이언트 브라우저가 쿠키를 지원하고 정보를 반환하는지 여부를 결정하십시오.
| 다음은 인용 된 내용입니다. < % 하위 checkCookie () browsercap = server.createobject (mswc.browsertype) browsercap.cookie = true입니다 응답. 브라우저를 작성하면 쿠키가 지원됩니다! 또 다른 응답. 죄송합니다. 사용중인 브라우저는 쿠키를 지원하지 않습니다! 끝 If 종료 서브 %> |
2. 파일 액세스 구성 요소 네트워크에서 충분히 오래된 경우 Web Gishbook의 최초의 프로토 타입 인 Dinosaur 시대의 CGI 방명록을 보았을 것입니다. 당시 인터넷 기반 웹 애플리케이션에서 서버 백엔드 데이터베이스에 연결하기가 매우 어려웠으므로 방명록의 과거 정보는 오늘날과 같이 백엔드 데이터베이스에 저장되지 않았습니다. 그렇다면이 데이터는 어디에 저장됩니까? 대답은 텍스트 파일입니다. CGI 프로그램은 클라이언트로부터받은 정보를 서버에 저장된 텍스트 파일에 쓸 수 있습니다. 파일은 HTML 파일 또는 TXT 파일 일 수 있으므로 프로그래머가 동일한 데이터베이스에 연결하지 않고도 고객 정보를 저장할 수 있습니다. 그러나 이러한 CGI 프로그램을 작성하는 것은 매우 성가신 일입니다. 다음 목록은 이러한 프로그램의 가장 간단한 샘플입니다.
| 다음은 인용 된 내용입니다. #!/usr/local/bin/perl # Perl 위치 1 서버 콘텐츠 유형 인쇄 : Text/Plain //// n //// n; if ($ env {/// 'request_method ///'} eqpost) { read (stdin, $ buffer, $ env {// 'content_length //'}); } elsif ($ env {/// 'request_method //'} eqget) { $ buffer = $ env {/// 'query_stirng //'}; } @pairs = split (/&/, $ buffer); foreach $ 쌍 (@pairs) { ($ name, $ value) = split (/=/, $ 쌍); $ value = ~ tr///; $ value = ~ S/%([AF AF 0-9] [AF AF 0-9])/PACK (C, HEX ($ 1))/EG; $ form {$ name} = $ value;} $ file_name = graitbook.txt; #file name #특정 콘텐츠 Open (file, >> $ file_name) || 파일을 열 때 다이 오류; 파일 녹음 시간 인쇄 : $ date //// n //// n; 인쇄 파일 이름 : $ form {/// 'name //'}; 인쇄 파일 단위 : $ form {/// 'Company ///'} /// n; 파일 전화 인쇄 : $ form {/// '폰 //'} 인쇄 파일 주소 : $ form {/// 'address ///'} /// n; 파일 인쇄 우편 번호 : $ form {/// 'zip //'} 파일 이메일 주소 인쇄 : $ form {/// 'email ///'} /// n; 파일 반환 주석 인쇄 : $ form {/// 'content ///'} 닫기 (파일) |
ASP와 비교할 때이 유형의 CGI 프로그램은 가독성과 작동성이 나쁘다고 생각할 수 있습니다. 그렇다면 ASP가 서버에서 직접 파일을 쓸 수 있는지 묻고 싶습니까? 대답은 물론 그렇습니다. 그러나 Smart Friends는 ASP와 웹 데이터베이스 간의 연결이 매우 편리하기 때문에 텍스트 파일에 고객 정보를 작성 해야하는 이유는 무엇입니까? ASP 의이 기능이 사치하지 않습니까? 실제로 방명록 및 BBS와 같은 일반적인 웹 응용 프로그램의 경우 프로그램 실행 효율성 또는 사용 편의성 측면에서 데이터베이스를 텍스트 파일로 바꿀 수 없습니다. 그러나 일부 웹 애플리케이션 필드에서 텍스트 파일을 작성하는 것은 데이터베이스에 비해 표준이자 비교적 편리한 방법입니다. NT에 익숙한 경우 NT에는 매우 강력한 보안 메커니즘이 있으며, 이는 거의 모든 서버 작업 및 연결 정보를 접미어 이름 .log의 파일에 자동으로 저장할 수 있습니다. 실제로이 기술은 웹에서 사용하여 일부 고객 로그인 정보를 기록 할 수 있습니다. 다음 프로그램은 ASP 읽기 및 쓰기 텍스트 파일의 기능을 사용하여 각 사용자의 음성 레코드를 웹 BBS 프로그램에 자동으로 녹음하는 기능을 만듭니다.
| 다음은 인용 된 내용입니다. < % set fs = createobject (scripting.filesystemobject) forreading = 1 /// '읽기 전용 모드로 파일을 엽니 다. 이 파일을 작성할 수 없습니다. forAppending = 8 /// '파일을 열고 파일 끝에서 작성하십시오. tristateusedefault = -2 Tristatetrue = -1 TristateFalse = 0/P> ///'--------------------------------------------------------------------------------------------------------------------------- ServerMap = server.mappath (/// bbs /// log ///))) /// '매핑 시스템 물리 경로 temp = servermap & /// & 년 (날짜) 및 월 (날짜) & ///// /// '시스템 물리적 경로와 시간을 가져 와서 로그 파일에 저장된 물리적 경로로 사용하십시오. 그렇지 않다면 fs.DODEREXISST (TEMP) fs.createfolder (온도) 끝 If /// '폴더의 존재 감지, 그렇지 않으면 자동으로 생성됩니다. 희미한 syslog 희미한 tempname tempname = 날짜 syslog = temp & tempname & .log /// '파일 이름은 e : ///bbs//log//month///month.log입니다 li = user &&& now && request.servervariables (remote_addr) && tempfile && 편지 && 제목 /// '로그 파일 레코드 형식 : 사용자 이름 및 보내기 시간 및 사용자 IP 및 파일 경로 및 문자 영역 및 문자 제목 fs.FileExists (syslog) 인 경우 set ss = fs.opentextfile (syslog, forappending, true) 또 다른 set ss = fs.createtextfile (syslog, forwriting, false) 끝 If /// '로그 파일이 존재하는지 감지합니다. 존재하는 경우 파일 내용을 추가하고 그렇지 않으면 파일을 직접 작성하십시오. Ss.Writeline (Li) ss.close ///'--------------------------------------------------------------------------------------------------------------------------- %> |
위의 프로그램을 완전히 이해하지 못하면 저자의 설명을 들어주십시오. 파일 액세스 구성 요소는 컴퓨터의 파일 시스템에 액세스하는 데 사용할 수있는 메소드 및 속성을 제공합니다. 파일 액세스 구성 요소를 사용하여 FileSystemObject 객체를 만들 수 있습니다. 위 프로그램의 첫 번째 문장은 파일 액세스 구성 요소를 사용하여 fs라는 객체 인스턴스를 만드는 것입니다. 객체가 만들어지면 파일을 통해 파일에 액세스 할 수 있습니다. 객체에는 속성이 없습니다. 유일한 의미는 텍스트 파일을 만들거나 열거나 읽고 쓰는 것입니다. FileSystemObject 객체에 가장 일반적으로 사용되는 두 가지 방법이 있습니다. 하나는 파일을 작성하는 데 사용되며 다른 하나는 텍스트 파일을 열고 읽고 쓰는 데 사용됩니다. CreateTextFile 메소드는 지정된 파일 이름을 얻고 파일을 생성합니다. 텍스트 스트림 객체를 반환합니다. 이 객체를 사용하여 파일이 작성된 후 파일을 작동 할 수 있습니다. CreateTextFile 메소드의 구문은 다음과 같습니다.
set objtextstream = filesystemobject.createtextfile (filename, [overwrite], [unicode])
저자는 아래 CreateTextFile 메소드의 매개 변수를 설명합니다.
1. 파일 경로 이름을 포함하는 문자열은 드라이브 이름 및 디렉토리 이름을 포함하여 파일의 전체 경로 이름 일 수 있거나 파일 이름 일 수 있습니다. 파일 이름 만 포함되면 파일은 사이트의 루트 디렉토리에 생성됩니다.
2. 부울 수량을 덮어 씁니다. False로 설정하면 새 파일을 만들 때 FileSystemObject 객체가 기존 파일을 삭제하지 못하도록 방지 할 수 있습니다. 이 매개 변수는 선택 사항입니다. 시스템에 True에 대한 할당 기본값이없는 경우 파일 이름이 동일한 기존 파일이 삭제됩니다.
3. 유니 코드 선택적 매개 변수. 부울 값은 유니 코드 또는 ASCII 파일 형식으로 파일을 만들 것인지 여부를 나타냅니다. 이 값은 파일이 유니 코드 파일 형식으로 생성되고 파일이 ascii 파일 형식으로 생성 된 경우 false입니다. 이 섹션이 생략되면 ASCII 파일이 작성된 것으로 가정합니다.
이전 프로그램에서는 set ss = fs.createtextFile (syslog, forwriting, false)을 사용하여 파일을 작성하고 로그 파일이 존재하지 않을 때 파일을 작성합니다. 여기에서 orwriting은 파일을 작성하는 것을 의미합니다.
CreateTextFile 메소드와 달리 OpenTextFile 메소드는 지정된 파일 이름을 얻고 파일을 여는 데 사용됩니다. 포함 된 매개 변수를 사용하여 파일에서 다양한 작업을 수행 할 수 있습니다. CreateTextFile 메소드와 마찬가지로 OpenTextFile 메소드는 텍스트 스트림 객체를 반환하여 파일이 열린 후 파일을 작동 할 수 있습니다. OpenTextFile 메소드의 구문은 다음과 같습니다.
set objtextstream = filesystemobject.opentextfile (filename, [iomode], [create], [format])
매개 변수는 다음과 같습니다.
1. Filename은 CreateTextFile의 Filename과 같은 필요한 변수입니다.
2. IOMODE 옵션 상수, 다음 두 상수 중 하나 인 값을 읽거나 적용 할 수 있습니다. 모드가 1 인 경우 파일이 읽기 전용으로 열리고 8 인 경우 파일이 추가됩니다.
3. 옵션 부울 수량 생성, 열려고하려는 파일이 존재하지 않는 경우 수행되는 작업을 지정하십시오. 값이 true 인 경우 파일이 존재하지 않을 때 빈 파일이 자동으로 생성됩니다. False 인 경우 파일을 찾을 수 없을 때 오류 메시지가 생성됩니다. 기본값은 False입니다. 파일을 열 때 오류를 확인하지 않도록 true로 설정하는 것이 좋습니다.
4. 형식 선택적 값은 파일의 형식을 각각 지정하기 위해 세 가지 트리 스테이트 값을 선택할 수 있습니다. -2, -1 및 0은 각각 시스템 기본값, 유니 코드 및 ASCII에 해당합니다.
텍스트 파일을 열거나 만든 후에는 단어 프로세서의 커서처럼 커서가있는 텍스트 스트림 객체가 나타납니다. creatobject를 통해 텍스트 스트림 객체를 만들 수 없습니다. TextStream 객체를 얻는 유일한 방법은 FileSystemObject 객체를 사용하여 기존 텍스트 파일을 열거나 앞에서 설명한대로 새 파일을 만드는 것입니다.
텍스트 스트림 객체의 속성과 방법은 아래에 나열되어 있습니다.
textStream.atendOfline 읽기 전용 부울 수량, 커서가 현재 줄의 끝에있을 때 값은 사실입니다. 그렇지 않으면 거짓입니다.
textStream.atendOfStream 읽기 전용 부울 수량, 커서가 스트림의 끝에 있으면 그 값은 사실입니다. 그렇지 않으면 거짓입니다.
TextStream.Column 읽기 전용 정수, 라인의 시작에서 현재 커서 위치까지 문자 수를 계산합니다.
TextStream.line 전체 파일의 커서 줄의 줄 번호를 나타내는 읽기 전용 정수
TextStream.close () 스트림과 해당 텍스트 파일을 닫습니다
TextStream.Read (NUM)는 커서의 현재 위치에서 시작하는 텍스트 파일에서 특정 문자 수를 읽습니다.
TextStream.readall ()은 전체 스트림을 문자열로 읽습니다
textstream.readline () 전체 문자 라인을 문자열로 읽습니다.
textstream.write (텍스트) 스트림에 문자열을 씁니다
textstream.writeline ()은 스트림에 텍스트 문자열을 씁니다
TextStream.skip (num) 스트림에서 커서 위치를 특정 수의 문자열 길이로 이동
TextStream.skiplines () 스트림에서 커서를 특정 수의 행으로 이동
TextStream.writeBlank는 특정 수의 빈 줄을 스트림에 씁니다.
라인 (NUM)
모든 사람이 이제 ASP 파일 액세스 구성 요소의 강력한 기능을 느낄 수 있다고 생각합니다. 실제로 일부 로그 파일을 작성할 수있을뿐만 아니라 노력없이 웹 사이트를 자동으로 업데이트 할 수도 있습니다. 텍스트 파일을 원격 서버로 고정 형식으로 전송하고 파일 액세스 구성 요소를 통해 파일을 읽고 HTML 파일을 하나씩 업데이트하기 위해 열심히 작업하지 않고도 새로운 HTML 페이지를 자동으로 생성하면됩니다. 관심이 있으시면 ASP의 파일 액세스 구성 요소를 사용하여 자신만의 자동 HTML 생성기를 작성하여 웹 사이트를 유지하는 고급 및 쉬운 느낌을 완전히 즐길 수 있습니다.
공유 : JS Div Simulates Select Form Domain 최근에 전체 화면 레이어와 함께 많은 시뮬레이션 된 화면 잠금 장치를 사용하는 Ajax 프로젝트를 수행하고 있었지만 두통이 있습니다. 즉, 드롭 다운 목록 상자는 항상 레이어에 표시됩니다. 이 문제를 해결하기 위해이 JS 클래스를 썼습니다. 개인적으로 사용하기 쉽다고 생각합니다. 여기서 당신과 공유하겠습니다.