Giter Club home page Giter Club logo

blazor.window's Introduction

License: MIT GitHub issues GitHub forks GitHub stars NuGet Downloads (official NuGet)

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:

Related articles

This repository was built with inspiration and help from the following series of articles:

blazor.window's People

Contributors

kristofferstrube avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.