optimize scripts

This commit is contained in:
sbwalker 2024-05-20 16:29:12 -04:00
parent 8cd6a72dd3
commit d4da02318d

View File

@ -40,7 +40,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<base href="/" /> <base href="/" />
<link rel="stylesheet" href="css/app.css" /> <link rel="stylesheet" href="css/app.css" />
@if (!string.IsNullOrEmpty(_PWAScript)) @if (_scripts.Contains("PWA Manifest"))
{ {
<link id="app-manifest" rel="manifest" /> <link id="app-manifest" rel="manifest" />
} }
@ -74,9 +74,7 @@
<script src="js/loadjs.min.js"></script> <script src="js/loadjs.min.js"></script>
<script src="js/interop.js"></script> <script src="js/interop.js"></script>
@((MarkupString)_reconnectScript) @((MarkupString)_scripts)
@((MarkupString)_PWAScript)
@((MarkupString)_scrollPositionScript)
@((MarkupString)_bodyResources) @((MarkupString)_bodyResources)
} }
else else
@ -101,9 +99,7 @@
private string _headResources = ""; private string _headResources = "";
private string _bodyResources = ""; private string _bodyResources = "";
private string _styleSheets = ""; private string _styleSheets = "";
private string _reconnectScript = ""; // for Interactive render mode and Blazor Server interactivity only private string _scripts = "";
private string _PWAScript = ""; // for PWA apps only
private string _scrollPositionScript = ""; // for Static render mode only
private string _message = ""; private string _message = "";
private PageState _pageState; private PageState _pageState;
@ -177,17 +173,18 @@
ManageStyleSheets(resources); ManageStyleSheets(resources);
ManageScripts(resources, alias); ManageScripts(resources, alias);
// generate scripts
if (_renderMode == RenderModes.Interactive && _runtime == Runtimes.Server) if (_renderMode == RenderModes.Interactive && _runtime == Runtimes.Server)
{ {
_reconnectScript = CreateReconnectScript(); _scripts += CreateReconnectScript();
} }
if (site.PwaIsEnabled && site.PwaAppIconFileId != null && site.PwaSplashIconFileId != null) if (site.PwaIsEnabled && site.PwaAppIconFileId != null && site.PwaSplashIconFileId != null)
{ {
_PWAScript = CreatePWAScript(alias, site, route); _scripts += CreatePWAScript(alias, site, route);
} }
@if (_renderMode == RenderModes.Static) @if (_renderMode == RenderModes.Static)
{ {
_scrollPositionScript = CreateScrollPositionScript(); _scripts += CreateScrollPositionScript();
} }
_headResources += ParseScripts(site.HeadContent); _headResources += ParseScripts(site.HeadContent);
@ -492,6 +489,7 @@
{ {
return return
"<script>" + Environment.NewLine + "<script>" + Environment.NewLine +
" // Static Blazor Scroll Position" + Environment.NewLine +
" window.interceptNavigation = () => {" + Environment.NewLine + " window.interceptNavigation = () => {" + Environment.NewLine +
" let currentUrl = window.location.href;" + Environment.NewLine + " let currentUrl = window.location.href;" + Environment.NewLine +
" Blazor.addEventListener('enhancedload', () => {" + Environment.NewLine + " Blazor.addEventListener('enhancedload', () => {" + Environment.NewLine +