Code Monkey home page Code Monkey logo

Comments (4)

naomi-lgbt avatar naomi-lgbt commented on June 13, 2024

What if we add a beforeUnload event? https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event

from freecodecamp.

huyenltnguyen avatar huyenltnguyen commented on June 13, 2024

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.

ojeytonwilliams avatar ojeytonwilliams commented on June 13, 2024

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.

a2937 avatar a2937 commented on June 13, 2024

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)

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.