찾다
웹 프론트엔드JS 튜토리얼JQuery의 확장 사용법에 대한 자세한 소개 및 사용



JQuery의 확장 메서드:
JQuery의 확장 메서드는 플러그인을 작성할 때 일반적으로 사용되는 메서드입니다. 이 메서드에는 몇 가지 오버로드된 프로토타입이 있습니다.
1. Jquery의 확장 메서드 프로토타입은 다음과 같습니다.  

extend(dest,src1,src2,src3...);

이것은 src1, src2, src3...을 dest로 병합하는 것을 의미합니다. 반환 값은 병합된 dest 이 방법은 병합 후 dest의 구조를 수정하는 것을 볼 수 있습니다. 병합된 결과를 얻고 싶지만 dest 구조를 수정하고 싶지 않은 경우 다음과 같이 사용할 수 있습니다.

varnewSrc=$.extend({},src1,src2,src3... )// 즉, "{}"를 대상 매개변수로 사용하세요.

이런 식으로 src1, src2, src3...을 병합할 수 있고 병합된 결과는 newSrc에 반환됩니다. 예:

varresult=$.extend({},{name:"Tom",age:21},{name:" Jerry",sex:"Boy"})

그런 다음 합쳐진 결과

result={이름: "제리 ",age:21,sex:"Boy"}

즉, 다음 매개변수가 이전 매개변수와 이름이 같은 경우 다음은 매개변수는 이전 매개변수 값을 덮어씁니다.

$.extend(settings, options);
//설정과 옵션을 병합하고 병합된 결과를 설정으로 반환합니다. 이는 옵션이 설정을 상속하고 상속된 결과를 설정에 저장하는 것과 같습니다.
var settings = $.extend({}, defaults, options);
//기본값과 옵션을 병합하고 기본 콘텐츠를 덮어쓰지 않고 병합된 결과를 설정으로 반환합니다.

2. dest 매개변수 생략
위의 확장 메서드 프로토타입에서 dest 매개변수를 생략할 경우 해당 메서드는 src 매개변수를 하나만 가질 수 있으며, src는 확장 호출에 병합됩니다.
1, $.extend(src)
이 메서드는 src를 다음과 같은 jquery의 전역 개체에 병합하는 것입니다.

$.extend({
hello:function(){ Alert(
'hello');}
});

은 hello 메소드를 jquery의 전역 객체에 병합하는 것입니다.
2. $.fn.extend(src)
이 메서드는 src를 다음과 같은 jquery 인스턴스 객체로 병합합니다.

$.fn.extend({
hello:function(){alert(
'hello');}
});

은 hello 메소드를 jquery 인스턴스 객체에 병합하는 것입니다.

다음은 일반적으로 사용되는 확장 예제입니다.

$.extend({net:{}});

이것은 jquery 전역 객체에서 netnamespace을 확장하는 것입니다.

$.extend($.net,{
hello:function(){alert(
'hello');}
})

이것은 확장하기 전에 hello 메소드를 확장하는 것입니다. Jquery의 net 네임스페이스로 이동합니다.

3. Jquery의 확장 메소드에도 오버로드된 프로토타입이 있습니다.

extend(boolean,dest,src1,src2,src3...)

첫 번째 매개변수 부울은 전체 복사 수행 여부를 나타내고 나머지는 매개변수는 이전에 소개한 것과 동일합니다. 예를 살펴보겠습니다.

varresult=$.extend(true, {},
{ 이름:
"John", 위치: {도시:" ",군:"USA"} },
{ 마지막:
"Resig", 위치: {주:"MA",county:"China" } } );

하위 개체 위치: {city: "Boston"}이 src1에 중첩되어 있고 하위 개체 위치: {state: "MA"}도 src2에 중첩되어 있음을 알 수 있습니다. deep copy 매개변수가 true인 경우 병합된 결과는

={name:"John",last:"Resig" , 위치: {도시:"
Boston", 주:"MA",카운티:"China" }}
즉, src에 중첩된 하위 객체도 병합한다고 하는데, 첫 번째 매개변수 boolean이 false인 경우 다음과 같이 병합 결과가 무엇인지 살펴보겠습니다.

varresult

= $.extend( false, {},{ 이름: "
John", 위치:{도시:"Boston", 카운티: " USA "} },{ 마지막: "
Resig", 위치: {주:"MA",county:"China" } });
병합 후 결과는 다음과 같습니다.

result={이름:"John",last:"Resig",위치:{상태: " MA ",카운티:"China"}}

$.extend({
min: function(a, b){return a max: function(a, b){return a > b?a:b; }
}); //jquery에 대한 확장된 min 및 max 메서드
확장된 메서드 사용("$.method name"을 통해 호출됨): Alert("a=10,b=20,max="+$.max(10,20)+",min="+$.min(10,20));


이상 $.extend()가 프로젝트에서 자주 사용된다는 몇 가지 세부 정보입니다.

posted @ 2010-11-24 21:13 xiaoxiaohui 읽기(48) 댓글(0)

HTTP 요청 헤더 정보 편집

HTTP 요청 헤더(HttpServletRequest) 개요 HTTP 클라이언트 프로그램(예: 브라우저)은 서버에 요청을 보낼 때 요청 유형(일반적으로 GET, POST 또는 HEAD)을 지정해야 합니다.
 필요한 경우 클라이언트 프로그램은 다른 요청 헤더를 보내도록 선택할 수도 있습니다. Content-Length를 제외하고 대부분의 요청 헤더는 필요하지 않습니다. POST 요청의 경우 Content-Length가 있어야 합니다. 다음은 가장 일반적인 HTTP 요청 헤더(HttpServletRequest) 중 일부에 대한 개요입니다.
HTTP 클라이언트 프로그램(예: 브라우저)은 서버에 요청을 보낼 때 요청 유형(일반적으로 GET 또는 POST)을 지정해야 합니다. 클라이언트 프로그램은 필요한 경우 추가 요청 헤더를 보내도록 선택할 수도 있습니다. Content-Length를 제외하고 대부분의 요청 헤더는 필요하지 않습니다. POST 요청에는 Content-Length가 있어야 합니다.
 다음은 가장 일반적인 요청 헤더 중 일부입니다.
 수락: 브라우저에서 허용하는 MIME 유형입니다.
 Accept-Charset: 브라우저에서 허용되는 문자 집합입니다.
 Accept-Encoding: gzip과 같이 브라우저가 디코딩할 수 있는 데이터 인코딩 방법입니다. 서블릿은 gzip으로 인코딩된 HTML 페이지를 gzip을 지원하는 브라우저에 반환할 수 있습니다. 대부분의 경우 다운로드 시간을 5~10배 줄일 수 있습니다.
 Accept-Language: 브라우저가 원하는 언어 유형으로, 서버가 둘 이상의 언어 버전을 제공할 수 있는 경우 사용됩니다.
 인증: 인증 정보는 일반적으로 서버에서 보낸 WWW-Authenticate 헤더에 대한 응답에 나타납니다.
 연결: 지속적인 연결이 필요한지 여부를 나타냅니다. 서블릿이 여기의 값을 "Keep-Alive"로 보거나 요청이 HTTP 1.1을 사용하고 있음을 확인하면(HTTP 1.1은 기본적으로 지속적인 연결을 만듭니다) 페이지에 여러 요소(예: Applet, 그림)을 통해 다운로드에 소요되는 시간을 대폭 단축할 수 있습니다. 이를 달성하려면 서블릿이 응답으로 Content-Length 헤더를 보내야 합니다. 이를 달성하는 가장 간단한 방법은 먼저 콘텐츠를 ByteArrayOutputStream에 쓴 다음 공식적으로 콘텐츠를 쓰기 전에 크기를 계산하는 것입니다.
 Content-Length: 요청 메시지 본문의 길이를 나타냅니다.
 Cookie: 가장 중요한 요청 헤더 정보 중 하나입니다.
 From: 일부 특수 웹 클라이언트 프로그램에서 사용되며 브라우저에서는 사용되지 않는 요청 보낸 사람의 이메일 주소입니다.
 Host: 초기 URL의 호스트 및 포트입니다.
 If-Modified-Since: 요청한 콘텐츠가 지정된 날짜 이후에 수정된 경우에만 반환하고, 그렇지 않으면 304 "수정되지 않음" 응답을 반환합니다.
 Pragma: "no-cache" 값을 지정하면 서버가 프록시 서버이고 이미 페이지의 로컬 복사본이 있는 경우에도 새로 고친 문서를 반환해야 함을 의미합니다.
 Referer: 사용자가 현재 요청된 페이지에 액세스하는 URL을 포함합니다.
 User-Agent: 브라우저 유형, 이 값은 서블릿에서 반환된 콘텐츠가 브라우저 유형과 관련된 경우 매우 유용합니다.
 UA-Pixels, UA-Color, UA-OS, UA-CPU: 일부 버전의 IE 브라우저에서 전송되는 비표준 요청 헤더로, 화면 크기, 색 농도, 운영 체제 및 CPU 유형을 나타냅니다.
 HTTP 응답 헤더(HttpServletResponse) 개요
 웹 서버의 HTTP 응답은 일반적으로 상태 줄, 하나 이상의 응답 헤더, 빈 줄, 콘텐츠 문서 등의 항목으로 구성됩니다. HTTP 응답 헤더 설정은 상태 표시줄의 상태 코드 설정과 결합되는 경우가 많습니다. 예를 들어, "문서 위치가 변경되었습니다"를 나타내는 여러 상태 코드에는 위치 헤더가 동반되고, 401(승인되지 않음) 상태 코드에는 WWW-Authenticate 헤더가 동반되어야 합니다.
 그러나 특별한 의미를 갖는 상태 코드가 설정되지 않은 경우에도 응답 헤더를 지정하는 것이 유용합니다. 응답 헤더는 쿠키 설정, 수정 날짜 지정, 지정된 간격으로 페이지를 새로 고치도록 브라우저에 지시, 지속적인 HTTP 연결을 활용하기 위해 문서 길이 선언 등 다양한 작업에 사용할 수 있습니다.
 응답 헤더를 설정하는 데 가장 일반적으로 사용되는 메소드는 HttpServletResponse의 setHeader입니다. 이 메소드에는 응답 헤더의 이름과 값을 각각 나타내는 두 개의 매개변수가 있습니다. 상태 코드 설정과 유사하게 응답 헤더 설정은 문서 콘텐츠를 보내기 전에 수행되어야 합니다.
 setDateHeader 메소드와 setIntHeadr 메소드는 날짜와 정수 값을 포함하는 응답 헤더를 설정하는 데 특별히 사용됩니다. 전자는 Java 시간을 GMT 시간 문자열로 변환하는 문제를 방지하고 후자는 정수를 문자열로 변환하는 문제를 방지합니다.
 HttpServletResponse는 또한 많은 설정을 제공합니다.
 setContentType: Content-Type 헤더를 설정합니다. 대부분의 서블릿은 이 방법을 사용합니다.
 setContentLength: Content-Length 헤더를 설정합니다. 이 기능은 지속적인 HTTP 연결을 지원하는 브라우저에 유용합니다.
 addCookie: 쿠키를 설정합니다(응답에 여러 Set-Cookie 헤더가 포함되는 경우가 많기 때문에 Servlet API에는 setCookie 메서드가 없습니다).
또한 이전 섹션에서 소개한 것처럼 sendRedirect 메소드는 상태 코드 302를 설정할 때 Location 헤더도 설정합니다.
 HTTP 응답 헤더 설명
​서버가 지원하는 요청 방법(예: GET, POST 등)을 허용합니다.
 Content-Encoding 문서 인코딩(Encode) 방식. 디코딩 후에만 Content-Type 헤더에 지정된 콘텐츠 유형을 얻을 수 있습니다. gzip을 사용하여 문서를 압축하면 HTML 문서의 다운로드 시간을 크게 줄일 수 있습니다. Java의 GZIPOutputStream은 쉽게 gzip 압축을 수행할 수 있지만 Unix의 Netscape와 Windows의 IE 4 및 IE 5만이 이를 지원합니다. 따라서 서블릿은 Accept-Encoding 헤더(예: request.getHeader("Accept-Encoding"))를 확인하여 브라우저가 gzip을 지원하는지 확인하고, gzip을 지원하는 브라우저에 대해 gzip으로 압축된 HTML 페이지를 반환하고, 일반 헤더를 반환해야 합니다. 다른 브라우저의 HTML 페이지입니다.
 Content-Length는 콘텐츠 길이를 나타냅니다. 이 데이터는 브라우저가 지속적인 HTTP 연결을 사용하는 경우에만 필요합니다. 지속적인 연결을 활용하려면 출력 문서를 ByteArrayOutputStream에 작성하고 완료 시 크기를 확인한 다음 값을 Content-Length 헤더에 입력하고 마지막으로 byteArrayStream.writeTo(response.getOutputStream()을 통해 콘텐츠를 보낼 수 있습니다. ).
Content-Type은 다음 문서가 속한 MIME 유형을 나타냅니다. 서블릿의 기본값은 text/plain이지만 일반적으로 HttpServletResponse는 전용 메서드 setContentTyep을 제공합니다. 시간 형식 변환 문제를 피하기 위해 setDateHeader를 사용할 수 있습니다. Expires 문서가 만료된 것으로 간주되어 더 이상 캐시되지 않아야 하는 경우
문서의 마지막 수정 시간은 If-Modified를 통해 제공될 수 있습니다. - 요청 헤더는 조건부 GET으로 처리되며, 지정된 시간 이후에 수정된 문서만 반환됩니다. 그렇지 않으면 setDateHeader 메서드를 사용하여 304(수정되지 않음) 상태를 반환할 수 있습니다. 위치는 클라이언트가 문서를 검색하기 위해 이동해야 하는 위치를 나타냅니다. 위치는 일반적으로 직접 설정되지 않지만 HttpServletResponse의 sendRedirect 메서드를 통해 또한 상태 코드를 302로 설정합니다. 새로 고침은 이후에 문서를 새로 고치는 데 걸리는 시간을 나타냅니다. , 현재 문서를 새로 고치는 것 외에도 setHeader("Refresh", "5; URL=http://host/path")를 통해 지정된 페이지를 읽도록 브라우저에 요청할 수도 있습니다. 이는 일반적으로 HTML 페이지의 HEAD 영역에 CGI나 Servlet을 사용할 수 없는 HTML Writer에게는 매우 중요합니다. 그러나 Servlet의 경우 Refresh 헤더를 직접 설정하는 것이 더 편리합니다. Refresh의 의미는 "이 페이지를 새로 고치거나 지정된 페이지에 액세스하는 것입니다." "격차"가 아닌 N초 후"입니다. 이 페이지를 새로 고치거나 지정된 페이지에 액세스하는 데 N초가 소요됩니다. 따라서 연속 새로 고침을 사용하려면 매번 새로 고침 헤더를 보내야 하며 204 상태 코드를 보내면 브라우저가 계속 새로 고침되지 않을 수 있습니다. , 새로 고침 헤더 사용 여부 또는 . Refresh 헤더는 공식 HTTP 1.1 사양의 일부가 아니라 확장이지만 Netscape와 IE 모두 이를 지원합니다.
 서버 서버 이름. 서블릿은 일반적으로 이 값을 설정하지 않지만 웹 서버 자체에서 설정합니다.
 Set-Cookie는 페이지와 관련된 쿠키를 설정합니다. 서블릿은 response.setHeader("Set-Cookie", ...)를 사용해서는 안 되지만, HttpServletResponse에서 제공하는 전용 메소드인 addCookie를 사용해야 합니다. 아래의 쿠키 설정에 대한 설명을 참조하세요.
 WWW-Authenticate 클라이언트는 Authorization 헤더에 어떤 유형의 인증 정보를 제공해야 합니까? 이 헤더는 401(승인되지 않음) 상태 줄이 포함된 응답에 필요합니다. 예를 들어 response.setHeader("WWW-Authenticate", "BASIC realm="executives"")입니다. 서블릿은 일반적으로 이러한 측면을 처리하지 않지만 웹 서버의 특수 메커니즘을 통해 비밀번호로 보호된 페이지(예: .htaccess)에 대한 액세스를 제어할 수 있습니다.

오류 코드 설명
  "100" : 계속
  "101" : 위칭 프로토콜
  "200" : OK
  "201" : 생성됨
  "202" : 승인됨
  "203" : 신뢰할 수 없는 정보
  "204" : 아니요 내용
  "205" : 내용 재설정
  "206" : 부분 내용
  "300" : 다중 선택
  "301" : 영구적으로 이동됨
  "302" : 발견됨
  "303" : 기타 보기
  "304" : 수정되지 않음
"305": 프록시 사용
 "307": 임시 리디렉션
 HTTP 400 - 잘못된 요청
 HTTP 401.1 - 승인되지 않음: 로그인 실패
 HTTP 401.2 - 승인되지 않음: 서버 구성 문제로 인해 로그인 실패
 HTTP 401.3 - ACL이 리소스에 대한 액세스를 금지합니다
HTTP 401.4 - 승인되지 않음: 필터에 의해 승인이 거부됨
HTTP 401.5 - 승인되지 않음: ISAPI 또는 CGI 승인 실패
HTTP 403 - 액세스 금지
HTTP 403 - 인터넷 서비스 관리자(HTML)에 대한 액세스가 로컬 호스트로 제한됨 액세스: 실행 가능한 액세스 없음
HTTP 403.2 - 액세스 없음: 읽기 액세스 없음
HTTP 403.3 - 액세스 없음: 쓰기 액세스
HTTP 403.4 - 액세스 없음: SSL 필요
HTTP 403.5 - 액세스 없음: SSL 필요 128
HTTP 403.6 - 액세스 없음: IP 주소 거부됨
HTTP 403.7 - 금지: 클라이언트 인증서 필요
HTTP 403.8 - 금지: 사이트 접근이 금지됨
HTTP 403.9 - 금지: 너무 많은 사용자가 연결되어 있음
HTTP 403.10 - 금지: 잘못된 구성
HTTP 403.11 - 금지: 비밀번호가 변경됨
HTTP 403.12 - 금지: 매퍼에 의해 접근이 거부됨
HTTP 403.13 - 금지됨: 클라이언트 인증서가 취소되었습니다.
HTTP 403.15 - 금지됨: 클라이언트에 너무 많은 액세스 권한이 있습니다.
HTTP 403.16 - 금지됨: 클라이언트 인증서를 신뢰할 수 없거나 유효하지 않습니다.
HTTP 403.17 - 금지됨: 클라이언트 인증서가 만료되었거나 아직 유효하지 않습니다.
HTTP 404.1 - 웹 사이트를 찾을 수 없음
HTTP 404 - 파일을 찾을 수 없음
HTTP 405 - 리소스 금지됨
HTTP 406 - 허용되지 않음
HTTP 407 - 프록시 인증 필요
HTTP 410 - 사용할 수 없음
HTTP 412 - 전제 조건 실패
HTTP 414 - 요청 - URI가 너무 깁니다.
HTTP 500 - 내부 서버 오류 - ASP 오류
HTTP 500.100 - 내부 서버 오류 - ASP 오류
HTTP 500-11 서버 다운
HTTP 500-12 애플리케이션 다시 시작됨
HTTP 500-13 - 서버 사용량이 너무 많습니다
HTTP 500-14 - 애플리케이션이 유효하지 않음
HTTP 500-15 - global.asa 요청이 허용되지 않음
오류 501 - 구현되지 않음
HTTP 502 - 게이트웨이 오류

위 내용은 JQuery의 확장 사용법에 대한 자세한 소개 및 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
jquery实现多少秒后隐藏图片jquery实现多少秒后隐藏图片Apr 20, 2022 pm 05:33 PM

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

jquery怎么修改min-height样式jquery怎么修改min-height样式Apr 20, 2022 pm 12:19 PM

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

axios与jquery的区别是什么axios与jquery的区别是什么Apr 20, 2022 pm 06:18 PM

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

jquery怎么在body中增加元素jquery怎么在body中增加元素Apr 22, 2022 am 11:13 AM

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

jquery中apply()方法怎么用jquery中apply()方法怎么用Apr 24, 2022 pm 05:35 PM

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

jquery怎么删除div内所有子元素jquery怎么删除div内所有子元素Apr 21, 2022 pm 07:08 PM

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

jquery怎么去掉只读属性jquery怎么去掉只读属性Apr 20, 2022 pm 07:55 PM

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

jquery on()有几个参数jquery on()有几个参数Apr 21, 2022 am 11:29 AM

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기