SharePoint 2013에서 렌더링 완료 후 표시 서식 파일에서 클라이언트 스크립트를 실행하는 방법

최초 문서 게시일: 2012년 12월 5일 수요일

얼마 전에 제 친구 Bryan이 렌더링 후에 자체 JavaScript 함수를 실행하는 표시 서식 파일을 만드는 방법을 물어보았습니다. 그 방법을 파악하기 위해 여기저기 알아본 후에 다른 친구인 Jesus가 이 문제에 대한 놀라운 해결의 실마리를 공유해 주었습니다. 서식 파일 렌더링 후에 자체 함수를 호출하려면 표시 서식 파일의 JavaScript 섹션에 이것을 추가해야 합니다. 즉, 서식 파일을 렌더링하는 데 사용할 다른 JavaScript가 있는 페이지에서 첫 번째 <div> 태그 아래 코드를 추가합니다. JavaScript에서 다음과 같은 호출을 추가해야 합니다.

<!--#_
AddPostRenderCallback(ctx, function()
{
//실행할 코드
});
_#-->

그런데 이것만으로는 Bryan의 문제를 해결하지 못했습니다. 그는 몇 가지 추가 CSOM 호출을 위해 ClientContext를 가져와야 했습니다. 이 대리자에 ClientContext를 만들려고 했지만 검색 결과 페이지에 모든 스크립트가 로드되지는 않기 때문에 이 방법은 작동하지 않았습니다. 따라서 현재 컨텍스트를 가져오기 위해 Srch.ScriptApplicationManager.get_clientRuntimeContext()를 호출할 수 있습니다. 표시 서식 파일에 로드해야 할 다른 스크립트가 있는 경우 다음과 같이 EnsureScriptFunc 메서드를 사용할 수 있습니다. EnsureScriptFunc("sp.js", "SP.ClientContext", function () { //callback }); .

이 문서는 번역된 블로그 게시물입니다. 원본 문서는 Running Client Script in a Display Template After Rendering is Complete in SharePoint 2013을 참조하십시오.