@@ -19,6 +19,7 @@ A security-first Blazor iframe component with automatic resizing, cross-frame me
1919- ** Security-First Design** - Built-in origin validation, message filtering, and sandbox isolation
2020- ** Content Security Policy** - Comprehensive CSP integration with fluent configuration API
2121- ** Bidirectional Communication** - Secure postMessage communication with validation for both directions
22+ - ** Navigation Tracking** - Capture iframe navigation events with URL and query parameters
2223- ** Sandbox Support** - Multiple security levels from permissive to paranoid isolation
2324- ** Environment-Aware** - Different configurations for development vs production
2425- ** Automatic Resizing** - Smart height adjustment based on iframe content
@@ -57,11 +58,13 @@ dotnet add package BlazorFrame
5758<!-- Simple iframe with automatic security -->
5859<BlazorFrame Src="https://example.com" />
5960
60- <!-- Production-ready configuration with bidirectional communication -->
61+ <!-- Production-ready configuration with bidirectional communication and navigation tracking -->
6162<BlazorFrame @ref="iframeRef"
6263 Src="https://widget.example.com"
64+ EnableNavigationTracking="true"
6365 SecurityOptions="@securityOptions"
6466 OnValidatedMessage="HandleMessage"
67+ OnNavigation="HandleNavigation"
6568 OnSecurityViolation="HandleViolation" />
6669
6770<button @onclick="SendDataToIframe">Send Data</button>
@@ -80,6 +83,13 @@ dotnet add package BlazorFrame
8083 return Task.CompletedTask;
8184 }
8285
86+ private Task HandleNavigation(NavigationEvent navigation)
87+ {
88+ Console.WriteLine($"Navigation to: {navigation.Url}");
89+ Console.WriteLine($"Query params: {string.Join(", ", navigation.QueryParameters)}");
90+ return Task.CompletedTask;
91+ }
92+
8393 private Task HandleViolation(IframeMessage violation)
8494 {
8595 Console.WriteLine($"Security violation: {violation.ValidationError}");
0 commit comments