您的位置:首页 > Web前端 > JavaScript

How to Add onLoad JavaScript event in SharePoint?

2013-01-18 19:20 585 查看

How to Add onLoad JavaScript event in SharePoint?



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

_spBodyOnLoadFunctionNames.push("ExecuteMyFunctionOnLoad");

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".

function addLoadEvent(func) {

var oldonload = window.onload;

if (typeof window.onload != 'function') {

window.onload = func;

} else {

window.onload = function() {

oldonload();

func();

}}}

addLoadEvent(nameOfSomeFunctionToRunOnPageLoad);

addLoadEvent(function() {

/* more code to run on page load */

}

);

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐