October 6, 2022

Samir Daoudi's Technical Blog

SharePoint, Office 365, C#, .Net, SQL Server News, Tips, Ebooks, Events, Webinars ….etc

SP.JS – Loading and timing issues

In this post, I will share with you guys my experience with SP.JS.

First of all, I felt in love with SP.JS when I could do literally any CRUD operation from the browser.

Don’t get me wrong, coming from C#.Net background to SP.JS took some time to familiarise myself with different topics of this last. Finally, I arrived to the conclusion, that I love SP.JS (once I got myself comfortable with it).

The first issue I had with SP.JS, was the fact that I did not have any control on the load order of the scripts, so I had to make sure that all my JavaScript code would wait for SP.JS to Load. For this, I used the following line of code

SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
function sharePointReady() {
var clientContext = new SP.ClientContext();
// my code goes here
}

This was perfect, from the sharePointReady function, I could do pretty much anything, I re-used it in different projects, and believe me, the final results was very Wowing 🙂

PS: This was experienced in a Sharepoint On-Prem environment.

 

I had to migrate one of my project to SharePoint Online (Office365), and suddenly this script was not doing what I thought I have fixed in the past.

The SP.JS was running before the DOM finished loading. I noticed different behaviours when I refreshed the page (F5), or just select the URL (and hit enter).

If my script was updating any DOM object (which was the case in most of the cases), I had issues.

The solution was to do the check of SP.JS and call the sharePointReady function from the document.ready() function.

$(document).ready(function () {
            SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
        });

        function sharePointReady() {
            var clientContext = new SP.ClientContext();
// My code goes here
}

 

Leave a comment

You may have missed

Show Buttons
Hide Buttons

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

%d bloggers like this: