KristofferStrube.Blazor.Window
0.1.0-alpha.7
Prefix Reserved
dotnet add package KristofferStrube.Blazor.Window --version 0.1.0-alpha.7
NuGet\Install-Package KristofferStrube.Blazor.Window -Version 0.1.0-alpha.7
<PackageReference Include="KristofferStrube.Blazor.Window" Version="0.1.0-alpha.7" />
paket add KristofferStrube.Blazor.Window --version 0.1.0-alpha.7
#r "nuget: KristofferStrube.Blazor.Window, 0.1.0-alpha.7"
// Install KristofferStrube.Blazor.Window as a Cake Addin #addin nuget:?package=KristofferStrube.Blazor.Window&version=0.1.0-alpha.7&prerelease // Install KristofferStrube.Blazor.Window as a Cake Tool #tool nuget:?package=KristofferStrube.Blazor.Window&version=0.1.0-alpha.7&prerelease
Blazor.Window
A Blazor wrapper for the Window interface from the HTML Specification.
This interface standardizes methods for controlling the global object used in browser windows called Window
. This project implements a wrapper around the interface and its types for Blazor so that we can easily and safely work with all the methods, attributes, and events surfaced in the Window
interface.
These functionalities are vast, and we do not wish to support them all, as some of them are of little use or work against the principles of Blazor. Here, I have made a high-level list of the different functionalities that the Window
interface supplies and marked which this wrapper will cover.
- 🚫 Access to the top level
Document
of the window. - ✅ Navigation control for the window.
- ✅ Option to register WebComponents using the
CustomElementRegistry
. - 🚫 Attributes indicating whether toolbar, scrollbars, location bar, etc. are visible.
- ✅ Access to the parent
WindowProxy
that this window is hosted in/by in case it is in an iframe or is a pop-up window. - ✅ Option to open a new window given some URL and target.
- 🚫 Attributes giving information about the user agent through the
Navigator
. - ✅ Initialize alert, confirm, prompt, and print user prompts.
- ✅ Posting messages to the window and listening for messages sent to it.
- ✅ Event listeners for events that are triggered when the user interacts with the window, such as mouse clicks, scrolling, resizing, etc.
- ✅ Event listeners for events related to the actions available in the window, such as changes in internet connectivity, changes in navigation location, or when the page is shown or hidden.
This wrapper is still under development.
Demo
The sample project can be demoed at https://kristofferstrube.github.io/Blazor.Window/
On each page, you can find the corresponding code for the example in the top right corner.
Related repositories
The library uses the following other packages to support its features:
- https://github.com/KristofferStrube/Blazor.WebIDL (To make error handling JSInterop)
- https://github.com/KristofferStrube/Blazor.DOM (
Window
extendsEventTarget
)
Related articles
This repository was built with inspiration and help from the following series of articles:
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- KristofferStrube.Blazor.DOM (>= 0.3.0)
-
net8.0
- KristofferStrube.Blazor.DOM (>= 0.3.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on KristofferStrube.Blazor.Window:
Package | Downloads |
---|---|
KristofferStrube.Blazor.WebWorkers
Web Workers wrapper implementation for Blazor. |
|
Raygun.Blazor
Raygun's Crash Reporting Provider for Blazor .NET |
|
KristofferStrube.Blazor.MediaStreamRecording
MediaStream Recording API wrapper implementation for Blazor. |
|
KristofferStrube.Blazor.CSSView
CSSOM View Module API wrapper implementation for Blazor. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.0-alpha.7 | 89 | 11/3/2024 |
0.1.0-alpha.6 | 357 | 8/26/2024 |
0.1.0-alpha.5 | 233 | 6/23/2024 |
0.1.0-alpha.4 | 502 | 5/26/2024 |
0.1.0-alpha.3 | 124 | 4/8/2024 |
0.1.0-alpha.2 | 75 | 4/1/2024 |
0.1.0-alpha.1 | 58 | 4/1/2024 |