How to execute a JavaScript onLoad function in SharePoint?

SharePoint provides a JavaScript array “_spBodyOnLoadFunctionNames”, any function to be executed onLoad needs to be added to this array e.g.


Now, why does your JavaScript function doesn’t execute if you just register it with ClientScript.RegisterStartupScript?

Actually, content pages can’t execute JavaScript function on body load, reason; content pages can’t directly add a function to the body’s OnLoad event if master page contains the <body> element (which is mostly true).

This array is basically a part of init.js located in “C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\”. If you open the javascript file, you will notice the page onLoad event is handled by function _spBodyOnLoadWrapper, which further calls ProcessDefaultOnLoad, and this function executes all the function names added in array "_spBodyOnLoadFunctionNames".

Comments (2)

  1. Map of Reusable SharePoint JavaScript JSRequest version: WSS 3.0 source file: init.js (ln 1621) mapped by: Itay Shakury

Skip to main content