Back to Content

LaunchQueue

files/en-us/web/api/launchqueue/index.md

latest1.8 KB
Original Source

{{APIRef("Launch Handler API")}}{{SeeCompatTable}}

The LaunchQueue interface of the {{domxref("Launch Handler API", "Launch Handler API", "", "nocode")}} is available via the {{domxref("Window.launchQueue")}} property. When a progressive web app (PWA) is launched with a launch_handler client_mode value of focus-existing, navigate-new, or navigate-existing, LaunchQueue provides access to functionality that allows custom launch navigation handling to be implemented in the PWA. This functionality is controlled by the properties of the {{domxref("LaunchParams")}} object passed into the {{domxref("LaunchQueue.setConsumer", "setConsumer()")}} callback function.

{{InheritanceDiagram}}

Instance Methods

  • {{domxref("LaunchQueue.setConsumer", "setConsumer()")}} {{Experimental_Inline}}
    • : Contains a callback function that handles custom launch navigation for a PWA.

Examples

js
if ("launchQueue" in window) {
  window.launchQueue.setConsumer((launchParams) => {
    if (launchParams.targetURL) {
      const params = new URL(launchParams.targetURL).searchParams;

      // Assuming a music player app that gets a track passed to it to be played
      const track = params.get("track");
      if (track) {
        audio.src = track;
        title.textContent = new URL(track).pathname.slice(1);
        audio.play();
      }
    }
  });
}

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also