Skip to content

Commit 116aec5

Browse files
authored
Navigation tracking feature
Feature: navigation tracking
2 parents 2fd81bd + fe0d804 commit 116aec5

File tree

7 files changed

+469
-501
lines changed

7 files changed

+469
-501
lines changed

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)