Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Annotate fields to be persisted on navigation away from the current page

License

NotificationsYou must be signed in to change notification settings

github/session-resume

Annotate fields to be persisted on navigation away from the current page.Fields will be automatically restored when the user revisits the pageagain in their current browser session (excludes separate tabs).

Not designed for persisted crash recovery.

Installation

$ npm install @github/session-resume

Usage

HTML

<form><inputid="new-comment"class="js-session-resumable"/></form>

JS

import{persistResumableFields,restoreResumableFields,setForm}from'@github/session-resume'functiongetPageID(){returnwindow.location.pathname}// Listen for all form submit events and to see if their default submission// behavior is invoked.window.addEventListener('submit',setForm,{capture:true})// Resume field content on regular page loads.window.addEventListener('pageshow',function(){restoreResumableFields(getPageID())})// Persist resumable fields when page is unloadedwindow.addEventListener('pagehide',function(){persistResumableFields(getPageID())})

restoreResumableFields(id: string, options)

TherestoreResumableFields(id: string, options) function supports optional configurations:

  • storage: -Storage instance (defaults towindow.sessionStorage)
  • keyPrefix: -string prepended onto the storage key (defaults to"session-resume")

persistResumableFields(id: string, options)

ThepersistResumableFields(id: string, options) function supports optional configurations:

  • storage: -Storage instance (defaults towindow.sessionStorage)
  • storageFilter: -(field: HTMLInputElement | HTMLTextAreaElement) => boolean predicate to determine whether or not to store a field (defaults to(field) => field.checked !== field.defaultChecked) for checkbox and radio buttons,(field) => field.value !== field.defaultValue otherwise)
  • keyPrefix: -string prepended onto the storage key (defaults to"session-resume")
  • scope: -ParentNode used to query field elements (defaults todocument)
  • selector: -string used to query field elements (defaults to".js-session-resumable")
  • fields: -NodeList | Node[] provide field elements as an alternative to querying (defaults tooptions.scope.querySelectorAll(options.selector))

Note: Whenfields is specified,scope andselectors will be ignored.

Development

npm installnpm test

License

Distributed under the MIT license. See LICENSE for details.

About

Annotate fields to be persisted on navigation away from the current page

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors12


[8]ページ先頭

©2009-2025 Movatter.jp