Führen Sie jedes andere JavaScript aus, nachdem die Displayvorlagen den Inhalt erbracht haben
-
09-12-2019 - |
Frage
Dies ist das Problem:
- .
- Ich erstellte einen ContentBysearchWebPart, der mit meiner benutzerdefinierten Anzeige angegeben ist Vorlagen. '
- Ich möchte nach dem Display einen anderen JavaScript-Code ausführen Vorlagen haben den Inhalt gerendert
-
Ich registriere dann meine benutzerdefinierte JavaScript-Datei in der Anzeigevorlage. generasacodicetagpre.
Das Problem ist, dass mein Slider.js-Dateicode ausführt vor das 'Display Templates 'JavaScript-Code tut.
kann mir jemand eine Möglichkeit geben, meinen Slider.js-Code nach das auszuführen Displayvorlagen haben den Inhalt von gerendert ContentBysearchWebPart (CSWP)?
Lösung
:) my issue is solved.
I did following:
Registered the custom JS file in Control_YourTemplateName.html file(like Control_Banner).
$includeScript(this.url, "~sitecollection/_catalogs/masterpage/Display Templates/HWScripts/Banner.js");
Added these three lines under the first div after body tag, in YourTemplateName.html (like Banner.html) file.
<!--#_ ctx.OnPostRender = []; ctx.OnPostRender.push(function(){ CustomMethodWhichIsIncludedInTheCustomJSFile(); }); _#-->
But a better solution is provided below:
You can skip defining OnPostRender
yourself. CBS Display Templates have this function baked in:
<!--#_
AddPostRenderCallback(ctx, function(){
alert(ctx.Title + "finished rendering!");
});
_#-->
There is also AddPreRenderCallback(ctx, function(){});
Andere Tipps
Sie können nach einschließlich des Skripts Zeile des Codes hinzufügen, generasacodicetagpre.
Beispiel: generasacodicetagpre.