복붙노트

[JQUERY] 수동 catch되지 않은 TypeErrors에서 PrimeFaces 결과로 / 로딩 jQuery를 추가

JQUERY

수동 catch되지 않은 TypeErrors에서 PrimeFaces 결과로 / 로딩 jQuery를 추가

해결법


  1. 1.PrimeFaces는 jQuery를 기반 JSF 컴포넌트 라이브러리입니다. 상자 밖으로 jQuery를하고 jQuery를 UI와 이미 제공됩니다. 그것은 바로 수동 어떤 이유로 jQuery를 / jQuery를 UI의 다른 사본을로드 할 수 없습니다. 그들은 반드시 / 공유 정확히 같은 변수 / 함수를 사용하지 않기 때문에 여러 가지 서로 만 충돌이 방법 것 jQuery를 파일 버전.

    PrimeFaces는 jQuery를 기반 JSF 컴포넌트 라이브러리입니다. 상자 밖으로 jQuery를하고 jQuery를 UI와 이미 제공됩니다. 그것은 바로 수동 어떤 이유로 jQuery를 / jQuery를 UI의 다른 사본을로드 할 수 없습니다. 그들은 반드시 / 공유 정확히 같은 변수 / 함수를 사용하지 않기 때문에 여러 가지 서로 만 충돌이 방법 것 jQuery를 파일 버전.

    모든 수동으로로드 jQuery를 / UI 파일을 제거하십시오. 이것은 말도 안돼.

    당신은 반드시 어떤 PrimeFaces 구성 요소를 사용하지 않는 일부 페이지에서 일부 jQuery를 / UI 마법을 활용해야하기 때문에 당신이 이런 짓을하는 경우 (따라서 및 그것의 jQuery를 따라서 $ ()를 사용할 수없는 것입니다 자동으로 포함되지 않습니다 번들), 다음 당신은 항상 수동으로 명시 적으로 PrimeFaces 번들 다음과 같이 몇 가지 마스터 템플릿에 jQuery를 포함 할 수 있습니다 :

    <h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
    <h:outputScript library="primefaces" name="jquery/jquery-plugins.js" target="head" />
    

    (직접 내부를 지정하면 대상 = "머리"불필요 )

    당신이 절대적으로 PrimeFaces에 번들로 제공되는 일이 구식이되어 있기 때문에, jQuery를 자신 만의 버전을 제공 할 필요가있는 경우에, 당신은 두 가지 옵션이 있습니다 :

    (그리고 모든 제거하는 것을 잊지 마세요 <시간을 : outputScript> 자신의 복사본에 대한 참조를)

    그러나 철저하게 테스트합니다. PrimeFaces 번들 하나에 비해 일부 PrimeFaces 특정 기능 때문에 새로운 jQuery를 버전 사소한 변경 / 버그 수정 업그레이드를 중단 할 수 있습니다.

    무엇보다도, 당신은 당신이 jQuery를 / UI의 여러 사본을 제공하지 않는 것이 절대적으로 확인해야한다, 또는 현재와 같은 당신은 여전히 ​​얼굴 갈등 / 충돌. $ .noConflict이 () 어떤 사람들은 절대적들이 의도되지 않은 제안 할 수 있습니다로 함께 사용하면 다수의 jQuery 라이브러리를 사용할 수 있습니다. 우연히 또한 프로토 타입으로 전역 함수로 $ ()를 사용하는 다른 JS 라이브러리와 함께 jQuery를 사용할 수 있도록들이 의도입니다. 또한을 미국 특허 제 4198037 호 참조 JQuery와 및 프로토 타입 noconflict.

  2. from https://stackoverflow.com/questions/16166039/manually-adding-loading-jquery-with-primefaces-results-in-uncaught-typeerrors by cc-by-sa and MIT license