> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # Method name: siteWindow.env() # Method Link: https://dev.wix.com/docs/sdk/frontend-modules/window/rendering/env.md # Method Description: Gets the current environment the rendering process is running in. When possible, the rendering process is split in 2 in order to improve performance. The first cycle in the process happens in the server-side code and the second cycle happens in the client-side code. If not possible on the server-side, all rendering happens client-side. The `env` property returns `"backend"` when rendering on the server and `"browser"` when rendering on the client. Use the `env` property in the page's `onReady()` event to control where your code runs during the rendering process and to prevent code that causes side effects from running twice. > **Note:** Rendering never occurs server-side when previewing a site. # Method Permissions: # Method Permissions Scopes IDs: undefined # Method Code Examples: ## Use the Rendering API to avoid inserting an item twice ```javascript import { items } from "@wix/data"; import { rendering } from '@wix/site-window'; let toInsert = { "field1": "Some value", "field2": "Some other value" }; $w.onReady(async function () { if (await rendering.env() === "browser") { return items.insert("myCollection", toInsert) .then( (item) => { $w("#myText").text = item.title; } ); } } ); ```