첫 번째로 Google 012ap의 이름 공간 충돌이 Adobe Analytics (AA)와 관련이 있지만 google recaptcha api.js 스크립트가 아닙니다. s
거기에 사용 된 네임 스페이스는 익명 함수로 묶여 선언되므로 해당 익명 함수 내에서만 사용할 수 있습니다. 따라서, 귀하의 AA s
개체를 덮어 쓰는 것이 아닙니다. 다른 곳을 보라.
하지만 일반적으로 처음부터 이러한 일이 발생하지 않도록하려면 Adobe Analytics는 기본적으로 글로벌 s
(window.s
) 네임 스페이스를 사용합니다.
var s = s_gi('some value');
나이 :
라이브러리의 버전에 따라이 같은 코드 무언가에 볼 수
var s = new AppMeasurement()
;
여기에서 기본 AA 개체 네임 스페이스를 변경할 수 있습니다.
또한 참조에서 s
까지 코드의 다른 위치로 업데이트해야 할 수도 있습니다. 첫째, 어떤 AA 플러그인 (예 : s.getQueryParam
, s.getValOnce
등)을 사용하는 경우 새 네임 스페이스를 참조하도록 업데이트해야합니다. 참고 : 코드 내의 코드가 아니라 선언 된 플러그인의 네임 스페이스를 업데이트하기 만하면됩니다. 그들 중 대부분의 플러그인은 처음에 var s=this;
과 같은 것을 가지고 있습니다.. 플러그인 자체 내에서 범위가 지정되었습니다. 위에서 언급 한 google api.js 스크립트와 유사합니다.
AA 변수를 설정 한 곳이면 어디서나 업데이트해야합니다 (예 : 페이지 별 맞춤 변수, s.t()
페이지 조회 전화 등
js 파일의 라이브러리에 대해 이야기하고 있으므로 아직 Adobe Dynamic Tag Manager (DTM) 또는 다른 태그로 마이그레이션하지 않은 것 같습니다. 매니저. 이 경우 네임 스페이스를 변경하려면 (네임 스페이스 충돌을 피하기 위해) 태그 관리자로 마이그레이션 할 수있는 기회로 사용하는 것이 좋습니다.
또한이 작업을 수행하고 최신 AppMeasurement 라이브러리에 있지 않은 경우 (특히 AA lib 파일을 직접 호스팅하는 경우 가능성이 높은 기존 H 코드를 사용하는 경우) 코드 라이브러리를 업데이트 할 기회로
답장을 보내 주셔서 감사합니다. Crayon. 나도 알아, 구글 recaptcha의 ananymous 기능하에 따라서 어떤 문제를 생성해서는 안된다하지만 우리는 Google recaptcha api.js 코드를로드 중지하자마자, 우리는 오류가 발생하지 않습니다. – user6896902
이것이 우리가하는 방법입니다. 우리는 var s = s_gi ('some value');가있는 메인 페이지에 sitecatalyst.js를로드합니다.그런 다음 기본 페이지가로드되면 Google recaptcha 코드가있는 다른 페이지의 내용을 가져오고 Ajax 호출에서받은 HTML로 메인 페이지에서 div를 업데이트하는 아약스 호출을 제공합니다. 그 후에 우리가 이벤트를 추가하면 s.apl은 함수가 아닙니다. – user6896902