Führen Sie jedes andere JavaScript aus, nachdem die Displayvorlagen den Inhalt erbracht haben

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/49349

  •  09-12-2019
  •  | 
  •  

Frage

Dies ist das Problem:

    .
  1. Ich erstellte einen ContentBysearchWebPart, der mit meiner benutzerdefinierten Anzeige angegeben ist Vorlagen. '
  2. Ich möchte nach dem Display einen anderen JavaScript-Code ausführen Vorlagen haben den Inhalt gerendert
  3. 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)?

War es hilfreich?

Lösung

:) my issue is solved.

I did following:

  1. Registered the custom JS file in Control_YourTemplateName.html file(like Control_Banner).

    $includeScript(this.url, "~sitecollection/_catalogs/masterpage/Display Templates/HWScripts/Banner.js");

  2. 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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top