Seiten Titel mit Blazor setzen

Ab einen gewissen Punkt, fängt Blazor an seine Grenzen zu stoßen. Jeder SEO will in seiner Web Site, Title und Metatags setzen um besser in der Suchmaschine platziert zu sein. Das kann aber Blazor nicht. Weder die Server rendert noch die Client Webassembly Variante.

Nun kann man sich in die Start Seiten _host.cshtml oder Index.html (webassembly) manipulieren, aber es geht auch einfacher. Allerdings führt dann kein Weg an ein wenig JS vorbei. Blazor bietet eine JavaScript Bridge die per Dependeny Injection ein JsRuntime Objekt herbei zaubert.

   1:  @inject IJSRuntime JSRuntime;

Die darin enthaltene Funktion Invoke erlaubt es eine JS Funktion mit einer beliebigen Anzahl Parametern auszuführen. Um den Page Titel zu ändern setzt man allerdings in document.title  die String Eigenschaft. Lösung in ein Eval kapseln wie folgt.

   1:  await JSRuntime.InvokeVoidAsync("eval", "document.title='this is the new title'"); ;        
Kommentare sind geschlossen