Files
Native-Router-Vue/docs/platforms.md
2026-07-21 14:54:36 +10:00

1.7 KiB

Platform integration

PWA and browser

The demo uses a standalone manifest, safe-area environment variables, and a generated Workbox service worker. Updates are prompted and cannot reload while a gesture is active. overscroll-behavior suppresses pull-to-refresh and history overscroll where supported; touch-action reserves horizontal manipulation only on navigator-owned surfaces.

Mobile operating systems can reserve gestures that web content cannot suppress in every browser mode. The full interaction system targets installed PWAs. Normal tabs retain links, buttons, history, and non-interactive transitions as their fallback.

Electron

Call disableElectronHistoryGestures(app.commandLine) before app.whenReady(). It disables Chromium's OverscrollHistoryNavigation, preventing the host from racing the renderer's interactive stack. The included preload bridge maps app commands and Alt+Arrow shortcuts into the renderer adapter without enabling Node integration.

The demo switches to hash history under file: so packaged deep navigation never asks the filesystem for route paths.

Capacitor

createCapacitorAdapter() handles Android hardware back, Universal/App Links, launch URLs, pause cancellation, root exit, and native haptic feedback.

The checked-in iOS and Android projects use Capacitor 8 and include App, Haptics, Splash Screen, and Status Bar plugins. Rebuild the web bundle before npx cap sync.

Accessibility

Inactive live routes are inert and aria-hidden. Only the active or interactive pair participates in focus and pointer hit testing. Back and tab controls retain native link/button semantics; reduced-motion users receive immediate transaction settling. Custom presentations must preserve the same focus and inert invariants.