prevent-back
Version:
Prevent vistor go back to previous page
75 lines (55 loc) • 2.28 kB
Markdown
# prevent-back
[](https://unpkg.com/prevent-back/dist/)
[](https://www.npmtrends.com/prevent-back)
[](https://unpkg.com/prevent-back/dist/)
[](https://www.jsdelivr.com/package/npm/prevent-back)
[](https://travis-ci.org/fisker/prevent-back)
[](https://codecov.io/github/fisker/prevent-back)
[](https://github.com/fisker/prevent-back/blob/master/license)
[](http://makeapullrequest.com)
> Prevent vistor go back to previous page
## Demo
[prevent-back](https://fisker.github.io/prevent-back/src/index.html)
## Install
```sh
yarn add prevent-back
```
## Usage
```html
<script type="module">
import preventBack from 'https://unpkg.com/prevent-back?module'
preventBack((stay, leave) => {
const confirmedToLeave = confirm('Are you sure you want leave?')
if (confirmedToLeave) {
leave()
} else {
stay()
}
})
</script>
```
## API
```js
import preventBack, {stay, leave} from 'prevent-back'
```
### `preventBack(onAttemptToLeave)`
```js
import preventBack from 'prevent-back'
preventBack((stay, leave) => {
const confirmedToLeave = confirm('Are you sure you want leave?')
if (confirmedToLeave) {
leave()
} else {
stay()
}
})
```
### `stay` and `leave`
```js
import preventBack, {stay, leave} from 'prevent-back'
document.querySelector('#js-stay-button').addEventListener('click', stay)
document.querySelector('#js-leave-button').addEventListener('click', leave)
preventBack(() => {
document.querySelector('#js-dialog').showModal()
})
```