/Demos

Web pages and apps used to demo various DevTools, PWA, WebView, Extensions, and Web Platform features of Microsoft Edge

Primary LanguageJavaScriptMIT LicenseMIT

Microsoft Edge Demos

This repository contains demo webpages, apps, and sample code to demonstrate various features of Microsoft Edge. The demo directories are grouped into the following sections below:

This page also covers:

Demos

Click a folder from the list above to find out more about a particular demo, or use the tables below.

Microsoft Edge DevTools

Demo name Description Repo directory Live demo page
CSS mirroring sourcemaps Used for Update .css files from within the Styles tab (CSS mirror editing) for the DevTools extension for Visual Studio Code. /css-mirroring-sourcemaps-demo/ n/a
TODO app Simple To Do app with vanilla JavaScript. Used for screenshots in the Microsoft Edge DevTools documentation, and for Opening DevTools and the DevTools browser for the DevTools extension for Visual Studio Code. /demo-to-do/ My tasks
Detached elements Chat-like demo. Used for Debug DOM memory leaks with the Detached Elements tool. /detached-elements/ Simulate traffic
3D View Used for Navigate webpage layers, z-index, and DOM using the 3D View tool. /devtools-3d/ Microsoft Edge DevTools 3D View tool demo
Accessibility testing Used for Overview of accessibility testing using DevTools. /devtools-a11y-testing/ Animal shelter
DevTools issue: animating a CSS property that requires layout Illustrates the Issues and Elements tools warning when CSS properties that require layout are animated. /devtools-animated-property-issue/ Animated CSS property demo
Console panel demo pages Used for Console overview, Log messages in the Console tool, and Fix JavaScript errors that are reported in the Console. /devtools-console/ DevTools Console panel demo pages
DOM interaction from the Console demo page Used for Interact with the DOM using the Console. /devtools-console-dom-interactions/ DevTools Console tool DOM interactions demo
Contrast bug fix Used for Improving contrast in Microsoft Edge DevTools: A bugfix case study. /devtools-contrast-bugfix/ Testing all badges in DevTools for contrast issues
CSS Examples Used for Get started viewing and changing CSS. /devtools-css-get-started/ CSS Examples
DOM Examples Used for Get started viewing and changing the DOM. /devtools-dom-get-started/ DOM Examples
Explain Console errors and warnings in Copilot in Edge Generates errors in the Console that can then be explained by using Copilot in Edge. /devtools-explain-error/ Explaining console errors demo
Inspect tool Used for Analyze pages using the Inspect tool. /devtools-inspect/ Inspect Demo
Inspect CSS Grid Used for Inspect CSS Grid. /devtools-grid/ Inspect CSS Grid
Debugging JavaScript that adds two numbers Used for Get started debugging JavaScript. /devtools-js-get-started/ Demo: Debugging JavaScript with Microsoft Edge DevTools
Memory heap snapshot Used for Record heap snapshots using the Memory tool. /devtools-memory-heap-snapshot/ n/a
Performance Activity Tabs Used for View activities in a table, about the Performance tool's Bottom-Up, Call Tree, and Event Log tabs. /devtools-performance-activitytabs/ Activity Tabs Demo
Sluggish Animation Used for Introduction to the Performance tool. /devtools-performance-get-started/ Sluggish Animation
postMessage Trace Events Tests postMessage trace events in the Performance tool. Used for View messages between windows, iframes, and dedicated workers in Performance features reference. /devtools-postmessage-perf-timeline/ postMessage Trace Events demo
CSS :target pseudo-class Used for Support forcing the :target CSS state. /devtools-target-pseudo/ CSS :target pseudo-class demo
Heap Snapshot Visualizer Source code for the Heap Snapshot Visualizer extension for DevTools. /heap-snapshot-visualizer/ n/a
JSON dummy data Simple JSON files. Used for View formatted JSON. /json-dummy-data/ JSON dummy data
Inspect Network Activity Used for Inspect network activity. /network-tutorial/ Inspect Network Activity Demo
Photo gallery Used for The truth about CSS selector performance. /photo-gallery/ Photo Gallery
Slow Calendar Simple calendar demo app to test DevTools features such as the Performance tool and source map support. /slow-calendar/ Slow Calendar
Workspaces Used for Edit files with Workspaces (Filesystem tab), in the Sources tool. /workspaces/ DevTools Workspaces Demo

Microsoft Edge extensions

Demo name Description Repo directory Live demo page
DevTools extension Used for Create an extension that customizes the DevTools UI. /devtools-extension/ n/a
Basic A basic DevTools extension. /devtools-extension/sample 1/ n/a
Panel A basic DevTools extension with a panel. /devtools-extension/sample 2/ n/a
CDP A basic DevTools extension invoking Chrome Developer Protocol (CDP) APIs. /devtools-extension/sample 3/ n/a
Inspect A basic DevTools extension that interacts with the Inspected page. /devtools-extension/sample 4/ n/a

Progressive Web Apps (PWAs)

Demo name Description Repo directory Live demo page
1DIV A CSS sandbox PWA that demonstrates the Window Controls Overlay feature. /1DIV/ 1DIV
Email client A simulated email client PWA that demonstrates how to use PWA protocol handlers. /email-client/ Email inbox
PWAmp A music player PWA demo to play local audio files. /pwamp/ pwamp
wami An image manipulation demo app to crop, resize, or add effects to images. /wami/ wami
Temperature converter A simple PWA demo app that converts temperatures. Used for Get started with Progressive Web Apps. /pwa-getting-started/ Temperature converter

Cross-browser API samples

Demo name Description Repo directory Live demo page
CSS Custom Highlight API How to programmatically create and remove custom highlights on a web page. /custom-highlight-api/ Custom Highlight API
EyeDropper API How to use the EyeDropper API to create a color sampling tool from JavaScript. /eyedropper/ EyeDropper API demos
Reader app An article reader app used to demonstrate how to use various web APIs such as CSS Custom Highlight, <selectlist>, EyeDropper, CSS and JSON modules, Scroll animation timeline, and Async Clipboard. /reader/ Reader
Selectlist demos Demo page showing how the Open UI's <selectlist> element can be used. /selectlist/ Open UI's <selectlist> demos
EditContext API demo Demo page showing how the EditContext API can be used to build an advanced text editor. /edit-context/ HTML editor demo
SVG support in the Async Clipboard API Demo page showing how the Async Clipboard API supports SVG format. /svg-clipboard/ SVG clipbard support demo

Adding a new demo

To add a new demo:

  1. Make a copy of the template directory at the root of this repository and give it a name, such as my-demo.

  2. Edit the README.md file in the new directory to clearly explain what your new demo is about.

  3. In the README file, include a GitHub.io link that points to the live demo.

    This repository is set up to be deployed live using GitHub Pages (GitHub.io), so a rendered index.html file in the my-demo directory (for example) will end up being accessible on the web at https://microsoftedge.github.io/demos/my-demo/.

  4. Edit the code (such as index.html or style.css) in the new directory. Add any files you need.

  5. Add a link to your demo in this README.md file, in a new row in one of the tables.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.