통사론
newrelic.interaction([JSON object $options])
현재 SPA 상호작용에 바인딩된 새 핸들 객체를 반환하거나, 상호작용이 없으면 새 상호작용을 반환합니다.
요구 사항
브라우저 Pro+SPA 에이전트(v963 이상)
$options
을 실행하려면 v1.285.0 이상이 필요합니다.npm을 사용하여 브라우저 에이전트를 설치하는 경우
BrowserAgent
클래스를 인스턴스화할 때spa
기능을 활성화해야 합니다.features
배열에 다음을 추가합니다.import { Spa } from '@newrelic/browser-agent/features/spa';const options = {info: { ... },loader_config: { ... },init: { ... },features: [Spa]}자세한 내용은 npm 브라우저 설치 설명서를 참조하세요.
설명
SPA 모니터링 interaction()
호출은 현재 블록 복합에 바인딩된 새 핸들을 반환합니다.
New interaction: 이 함수가 호출되고 상호작용이 열려 있지 않거나 진행 중이 아니면 새로운 사용자 지정 상호작용이 생성됩니다.
waitForEnd
지정 되지 않는 한, 사용자 정의 상호작용은 여전히 기본 휴리스틱을 따르고 다음 소프트 탐색이 완료되면 자동으로 닫힙니다.
New object: 상호작용이 진행되는 동안 이 함수를 호출하면 현재 상호작용을 참조하는 새 핸들이 생성됩니다.
- 여러 개의 핸들이 동일한 상호작용을 가리킬 수 있습니다. 각
.interaction
호출은 새로운 핸들을 생성합니다. - 핸들은
click
과 같은 사용자 이벤트에서 시작되었는지 또는 이전 API 트리거.interaction
호출에서 시작되었는지 여부에 관계없이 열린 인스턴스를 가리킵니다. - 이 기능은 자체 효과나 사용자 이벤트의 효과를 대체할 수 없습니다. 즉, 기존의 개방형 상호작용을 새로운 API 기반 상호작용으로 덮어쓸 수 없습니다.
- 여러 개의 핸들이 동일한 상호작용을 가리킬 수 있습니다. 각
매개변수
매개변수 | 설명 |
---|---|
JSON 객체 | 선택 사항: 상호작용 동작에 영향을 미치는 옵션을 지정합니다.
|
반환 값
이 메서드는 잠재적인 BrowserInteraction
이벤트 를 가리키는 네이티브 JS 객체를 반환합니다. BrowserInteraction
이 아직 종료되지 않은 상태에서 이 메서드가 동일한 에 대해 호출될 때마다 새 객체가 생성되지만 여전히 동일한 인스턴스를 참조합니다.
예
newrelic.interaction()
에서는 SPA API 메서드를 사용해야 합니다. 반환된 값이나 핸들을 나중에 사용하기 위해 다른 변수에 할당할 수 있습니다. 예를 들어:
let myInteraction = newrelic.interaction();...myInteraction.save();
명명된 핸들은 인스턴스 외부에서 저장하여 사용할 수 있지만, 인스턴스가 종료된 후에는 SPA 메서드가 아무런 효과가 없다는 점에 유의하세요.
다음 방법을 사용하여 상호작용 기간을 사용자 지정할 수도 있습니다.
// Say an interaction is already open from a user click.const userInteraction = newrelic.interaction({ waitForEnd: true }); // grabs the current interaction in-progress & keep it open// URL changes & DOM is modified. Because of those condition being met, interaction will be saved but is kept open.fetch('myurl.com/endpoint').then(() => userInteraction.end()) // associate this request to the interaction before completing this BrowserInteraction const myCustomIxn = newrelic.interaction({ waitForEnd: true }) // create a new api-triggered interaction// This interaction will be kept open indefinitely until `.end` is called, and no new interaction will start, custom or otherwise. AjaxRequest will continue to buffer under this interaction until it is closed.