WordPress에서 오래된 jQuery v1.12.4를 사용하는 이유는 무엇입니까?


25

소스 코드를 확인하면서 WordPress가 jQuery v1.12.4를 사용하는 것을 보았습니다. WordPress에서이 오래된 버전의 jQuery를 사용하는 이유는 무엇입니까?


1
대답은 매우 간단합니다. WP는 이전 브라우저와의 호환성을 유지하려고합니다. WP에는 IE8 지원이 필요한 사용자가 아직 없어 질 수 없습니다.
Simba

답변:


32

WP core에서로드 한 jQuery를 사용하는 많은 테마와 플러그인이 있습니다. jQuery가 업데이트 될 때마다 이전 테마와 플러그인이 손상 될 위험이 있습니다 (많은 테마가 여전히 사용되지만 더 이상 업데이트되지 않기 때문에). 그래서 jquery-migrate.js소스 코드 에서도 볼 수 있습니다 . 플러그인 / 테마에서 사용하는 오래된 함수를 잡아서 최신 버전의 jQuery에서도 작동하는지 확인하는 스크립트입니다.

더 이상 사용되지 않는 모든 것에 대한 마이그레이션 스크립트를 가질 수3.x 없기 때문에 jQuery 제품군으로 이동 하면 많은 플러그인 / 테마 가 중단됩니다. 그렇기 때문에 가족 과 가족이 이미 존재 하는 동안 새로운 버전의 가족이 계속 개발되고 있습니다. (보안) 패치를 제외하고 및 이후 버전 이후 버전없습니다 . jQuery 는 현재 구식이 아니지만 조만간있을 것입니다.1.x2.x3.x1.x2.x1.122.21.12

따라서 WordPress는 바인딩에 있습니다. 더 높은 jQuery 버전으로 업그레이드하지 않으면 새로운 가능성을 따라갈 수 없습니다. 그러나 업그레이드하면 이전 사이트가 중단됩니다. 아마도 WP는 몇 년 동안 기다릴 것이기 때문에 오래된 테마 / 플러그인은 단계적으로 폐지 된 다음 가족 에게3.x넘어갈 것 입니다 .

설명

위의 내용은 1.x버전에서 마이그레이션하는 것이 3.x실제로 불가능하다는 것을 암시 합니다. 그건 사실이 아니야. 조금 복잡합니다. 트릭은 먼저로 업그레이드 1.12하고 이전 마이그레이션 스크립트를 사용하여 결과를 디버깅 한 다음에 작동하는 3.0마이그레이션 스크립트 를 추가하는 것입니다 1.12. 자세한 지침은 여기를 참조 하십시오 .

보안 업데이트

개발자는 Google Dev Tools / Lighthouse가 이전 jQuery 버전으로 인해 WordPress 사이트를 취약한 것으로보고합니다. 실제로 모든 Lighthouse는이 라이브러리에 Snyk Vulnerabilities Database에 언급 된 취약점이 있는지 확인합니다 . 이를 자세히 확인하면 버전 1.12.4가 깨끗하다는 것을 알 수 있습니다. 1.12.4를 광범위하게 사용하면 심각한 취약점을 신속하게 처리 할 수 ​​있습니다.


4
약간의 추가 정보를 추가하기 위해 jQuery 1.x와 2.x는 올해 5 월까지 적극적으로 업데이트되고 있으며, 그 차이는 단순히 1.x가 IE8과 호환되고 2.x가 패치를 제거했다는 것입니다. 버그가있는 브라우저를위한 수정 프로그램입니다. 3.x는 새로운 버전이며 "공식적인"HTML5 / JavaScript 인터페이스와 호환되도록 다양한 인터페이스를 변경하여 한 단계 더 발전합니다 (즉, 동일한 방식으로 작업 한 경우 jQuery에 자체 버전이있는 표준 이 됨) 같은 종류의 일을하는).
Rycochet

23
  • 구식아닙니다
  • 2.x 또는 3.x로 이동하는 것이 너무 빠르기 때문에 사람들은 여전히 ​​1.x에서만 지원되는 IE8을 사용합니다.

2
@LightnessRacesinOrbit 동의하지만 내 경험에 따르면이 질문은 WP 개발자의 평균 구경과 관련하여 중요합니다.
MonkeyZeus

7
2018 년 1 월 업데이트 : WordPress에 기본적으로 포함되어 있음에도 불구하고 구식이라는 아이디어는 더 이상 "넌센스"가 아닙니다. XSS 취약성은 1.12.4로 식별되었으며 1.x 분기는 더 이상 업데이트를받지 않습니다. 권장되는 해결 방법은 jquery 3.x snyk.io/test/npm/jquery/…
squarecandy

2
또한 Lighthouse Google을 사용하는 경우 버전 1.12.4에 알려진 보안 취약점이 포함되어 있으므로 사용해서는 안된다고 알려줍니다.
phpheini

4
마이크로 소프트가하지 않는 IE8을 지원하는 것은 현재로서는 무책임하다. 보안 문제가있는 오래된 브라우저를 사용하는 사람들을 유지합니다. 누군가 IE8을 사용하고 있다면 중지해야합니다.
David A. French

1
@ DavidA.French 나는 두 번째 움직임. 개발자는 업데이트를 거부하는 사용자를 수용하지 않아야합니다. 모든 사람들이 가능한 모든 알려진 브라우저에서 완벽한 호환성을 갖기를 간절히 바라고 있었으며 이러한 나쁜 습관은 계속 유지됩니다. 인터 웹이 작동을 멈 추면 사람들은 최신 브라우저로 업데이트 될 것입니다. 이 시점에서 주요 브라우저 중 하나의 최신 버전이 아닌 경우 (IE 및 AOL은 전혀 계산하지 않습니다) 인터넷이 구부러져서는 안됩니다. 솔직히 IE8? 귀하는 웹의 1 % 미만입니다. [AOL에서 음성] "
안녕하세요

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.