The Stage opens all links only according to the rules described below. Directives indicating a link should open in a new window (like <a target="_blank" ... > or window.open(...)) are ignored, and there is no way to force a link to open within The Stage either.
<a target="_blank" ... > and window.open(...) are non-functional on the Desktop client.See the section on Checkout.
Links to open.spotify.com are treated as Spotify URIs and open within the Spotify app, but, outside The Stage.
Links within the same domain and some links to *.spotify.com/ or *.byspotify.com/ open within The Stage.
If legacy back behavior is disabled, visiting a page will add it to the back stack.
Any other links open in the user's web browser.
Some links may be intercepted by third party apps if they are installed.
Please ensure the URLs on your site, as well as the URLs driving traffic to your site have special characters escaped properly and are generally compliant with RFC 2396. If not, the links may not work properly and their behavior is not defined. This has caused platform-specific bugs in the past.
Please note that the pipe ( | ) is not a valid URL character and "must be escaped in order to be properly represented within a URI." (RFC 2396, section 2.4.3) We have seen these appear in production intentionally from tracking partners and unintentially from advertising partners' email servers mangling URLs or attempting to add their own tracking for some reason.
Call stageSDK.links.openInExternalBrowser(url) to open a URL in the user's default browser, even if the link would be considered "internal" by The Stage's usual ruleset. This probably applies if you want to link to something on Spotify.com like the Privacy Policy or Terms of Service.
Call stageSDK.links.openInInternalBrowser(url) to open a URL in an in-app overlay. This was created for a very specific use case, so consult TIL before using it.
Call stageSDK.links.replaceTheStage(url) to close the Stage and open a different internal URL. Only open.spotify.com links are supported for this function, and will open the equivalent native page in the Spotify app. The URL must be a valid open.spotify.com URL.
The net effect of this is that the Stage site will vanish from the user's history within the Spotify app - so going "back" won't re-open it and will instead send them to whatever they were at beforehand.
This demo attempts to use <a download=...> tags to download images.
This demo calls history.back()
This experiment tests the persistent storage mechanisms technically available to the client.
generated
cookie
device local prefs
local storage
native client session storage
session storage
This experiment tests what circumstances will cause the native clients to kill a WebView in the background.