files/en-us/web/api/launchparams/index.md
{{APIRef("Launch Handler API")}}{{SeeCompatTable}}
The LaunchParams interface of the {{domxref("Launch Handler API", "Launch Handler API", "", "nocode")}} is used when implementing custom launch navigation handling in a PWA. When {{domxref("LaunchQueue.setConsumer", "window.launchQueue.setConsumer()")}} is invoked to set up the launch navigation handling functionality, the callback function inside setConsumer() is passed a LaunchParams object instance.
Such custom navigation handling is initiated via {{domxref("Window.launchQueue")}} when a PWA has been launched with a launch_handler client_mode value of focus-existing, navigate-new, or navigate-existing.
{{InheritanceDiagram}}
POST method.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}}
{{Compat}}