Comments (4)
What if we add a beforeUnload event? https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
from freecodecamp.
Yup, that works, but we need a little more than that.
The beforeunload
event can only handle the case where the user is closing to the tab, but not if the user is navigating away from the page by clicking a link (say, the block or superblock link in the breadcrumb). Link navigation is handled by @reach/router
, but the library explicitly states that it doesn't support navigation blocking. I could find a workaround, and it seems to work as intended.
I have the implementation somewhat ready. Though we talked a bit about this change in the team huddle, and Quincy suggested finding other alternatives to prompts. So I think adding a note to the instruction could help a bit (while I'm figuring out what else we can do).
from freecodecamp.
Even if we're not blocking navigation, which we probably shouldn't, can we save on navigation? That combined with saving on beforeunload
should prevent learners from losing their work most of the time.
from freecodecamp.
Why don't we use the visibilitychange
instead of beforeunload
? https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilitychange_event
I mean it's just as likely to trigger and seems more reliable according to what I read.
Edit: This article also says the unload
event is being depreciated for Google Chrome. https://developer.chrome.com/docs/web-platform/deprecating-unload
from freecodecamp.
Related Issues (20)
- Resetting code in some new JS certification projects is not working HOT 2
- Misterious `RangeError: Invalid count value: -1` error HOT 6
- Pedantic semantic/gramatical issue. HOT 6
- ValueError HOT 1
- Review Functions HOT 3
- Definitions should be improved for SciComPy
- JavaScript Algorithms and DataStructures (beta): Inssue with "findIndex" Method HOT 1
- JavaScript Algorithms and DataStructures (beta): Inssue with "findIndex" Method
- JavaScript Algorithms and DataStructures (beta): Inssue with test
- Confusing Instruction Pyramid Generate Step 63 HOT 4
- Bug in random-background-color-changer step 8 HOT 1
- CSS Media Queries and Grid Layout Adjustments HOT 7
- Missing h2 element. HOT 9
- Design Style Guide - Layout Colors - Typo showing up live not present in index.html HOT 2
- Learn Advanced Array Methods By Building A Statistics Calculator - Step 32: Confusing Phrase HOT 1
- Learn Functional Programming by Building a Spreadsheet - Main menu description HOT 4
- Project Creation tool creates broken projects
- Typo in step 87 of Building a Cipher HOT 3
- Step 103 Pyramid Generator doesn't say where to write the code HOT 2
- Virtual keyboard is not reliably brought up when editor is re-focused HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freecodecamp.