diff --git a/Oqtane.Server/Components/App.razor b/Oqtane.Server/Components/App.razor
index 18ef4654..8acd74b0 100644
--- a/Oqtane.Server/Components/App.razor
+++ b/Oqtane.Server/Components/App.razor
@@ -69,20 +69,15 @@
}
- @if (!string.IsNullOrEmpty(_reconnectScript))
- {
- @((MarkupString)_reconnectScript)
- }
- @if (!string.IsNullOrEmpty(_PWAScript))
- {
- @((MarkupString)_PWAScript)
- }
- @((MarkupString)_bodyResources)
-
+
-
+
+ @((MarkupString)_reconnectScript)
+ @((MarkupString)_PWAScript)
+ @((MarkupString)_scrollPositionScript)
+ @((MarkupString)_bodyResources)
}
else
{
@@ -106,8 +101,9 @@
private string _headResources = "";
private string _bodyResources = "";
private string _styleSheets = "";
- private string _PWAScript = "";
- private string _reconnectScript = "";
+ private string _reconnectScript = ""; // for Interactive render mode and Blazor Server interactivity only
+ private string _PWAScript = ""; // for PWA apps only
+ private string _scrollPositionScript = ""; // for Static render mode only
private string _message = "";
private PageState _pageState;
@@ -189,6 +185,11 @@
{
_PWAScript = CreatePWAScript(alias, site, route);
}
+ @if (_renderMode == RenderModes.Static)
+ {
+ _scrollPositionScript = "";
+ }
+
_headResources += ParseScripts(site.HeadContent);
_bodyResources += ParseScripts(site.BodyContent);
diff --git a/Oqtane.Server/wwwroot/js/scrollposition.js b/Oqtane.Server/wwwroot/js/scrollposition.js
new file mode 100644
index 00000000..58150ac6
--- /dev/null
+++ b/Oqtane.Server/wwwroot/js/scrollposition.js
@@ -0,0 +1,12 @@
+
+function setScrollPosition() {
+ window.scrollTo({
+ top: 0,
+ left: 0,
+ behavior: 'instant'
+ });
+}
+
+export function onUpdate() {
+ setScrollPosition();
+}
\ No newline at end of file