To use the location module, import wixLocationFrontend from the @wix/site-location module:
The setter functions in @wix/site-location
can only be used when browser
rendering happens,
meaning you can only use them in frontend code after the page is ready.
You can use the getter functions for both server-side or browser rendering.
The URL is broken into:
For premium sites, the URL of the incoming call has the following format:
https://www.domain.com/myPrefix/myPath?myQuery=myValue
https://www.domain.com
myPrefix
myPath
myQuery=myValue
Example:
https://domain.com/animals/elephant?species=african-elephant
https://domain.com/
animals
. Only for routers and dynamic pages.elephant
species=african-elephant
For free sites, the URL of the incoming call has the following format:
https://user_name.wixsite.com/mysite/myPrefix/myPath?myQuery=myValue
https://user_name.wixsite.com/mysite
myPrefix
myPath
myQuery=myValue
Example:
https://user_name.wixsite.com/zoo/animals/elephant?species=african-elephant
https://user.wixsite.com/zoo
animals
. Only for routers and dynamic pages.elephant
species=african-elephant
Learn more about @wix/site-location in Getting Started and on Wix Learn.
Gets the base URL of the current page.
Premium sites:
Free sites:
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.
Adds an event handler that runs when an application page's URL changes.
The event handler set by the onChange()
function runs when the location is changed
but the change doesn't trigger navigation. This situation occurs when navigating between
subitems on a page that is managed by a full-page application.
For example, a store product page is a full-page application. When a product page's path
changes because it is switching between items, no actual navigation is taking place. You
can use the onChange()
event handler to determine when a new product is displayed and
perform any necessary partial updates on the current page.
The onChange()
function can only be used when browser
rendering happens,
meaning you can only use it in frontend code after the page is ready.
To determine if a page is managed by a full-page application, use the wix-site-frontend
currentPage
property or getSiteStructure()
function to retrieve a StructurePage
object that
corresponds to the page. If the object contains an applicationId
value, then the
page is managed by a full-page application.
handler(event: Location): void
The name of the function or
the function expression to run when the location changes.
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.
Gets the path of the current page's URL.
The path for a regular page is after the baseUrl
If the page is a dynamic page or router page, the prefix
appears after the base URL, before the path.
Premium sites:
Path for a regular page, without a prefix:
Path for a dynamic or router page with a prefix:
Free sites:
Path for a regular page, without a prefix:
Path for a dynamic or router page with a prefix:
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.
Gets the prefix of a dynamic page's or router page's URL.
Only dynamic pages and router pages have a prefix. The value of the
prefix
property for other page types is always undefined
.
Premium sites:
Free sites:
To learn more about dynamic page prefixes, see About URL Prefixes and Page Grouping of Dynamic Pages.
To learn more about router page prefixes, see About Routers.
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.
Gets the protocol of the current page's URL.
Premium sites:
Free sites:
function protocol(): Promise<string>;
import { location } from "@wix/site-location";
// Premium site URL: "https://www.domain.com/animals/elephant?species=african-elephant#desc"
// Free site URL: "https://user_name.wixsite.com/zoo/animals/elephant?species=african-elephant#desc"
let protocol = await location.protocol(); // "https"
This method doesn’t return any custom errors, but may return standard errors. Learn more about standard Wix errors.