6

I wrote a JavaScript function where I get my Tasks and Tasks from Team Space. They are supposed to look like: enter image description here

And this works as long as its a own HTML-site. Like tasks.html. When I try to add it to another SharePoint-site like home in an content-Editor I get an typeerror:

sp.ui.utility is undefined

and the site stops responding. So my question is why is that so? There is something I don't get.

Here is the Code: HTML:

<div class="due-display" id="dueDisplayVisibility" onclick="winOpen();">
    <p id="loadingText" class="loadIndicator">Loading...  <img src="/Style Library/kcs/images/loader.gif"></p>
    <div class="overDue" id="overDueForm">
        <table>
            <tr>
                <th class="th-due-digits-red" id="overDueDigits"></th> <!--gets filled by function: fillDueDisplayForms()-->
                <th class="th-due-text-red" id="overDueText"></th> <!--gets filled by function: fillDueDisplayForms()-->
            </tr>
        </table>
    </div>
    <div class="dueSoon" id="dueSoonForm">
        <table>
            <tr>
                <th class="th-due-digits-orange" id="dueSoonDigits"></th> <!--gets filled by function: fillDueDisplayForms()-->
                <th class="th-due-text-orange" id="dueSoonText"></th> <!--gets filled by function: fillDueDisplayForms()-->
            </tr>
        </table>
    </div>
    <div class="neverDue" id="neverDueForm">
        <table>
            <tr>
                <th class="th-due-digits-green" id="neverDueDigits"></th> <!--gets filled by function: fillDueDisplayForms()-->
                <th class="th-due-text-green" id="neverDueText"></th> <!--gets filled by function: fillDueDisplayForms()-->
            </tr>
        </table>
    </div>
    <div class="noMySite" id="noMySiteForm">
        <p id="noMySiteTextLine1" class="noMySiteText"></p> <!--gets filled by function: fillNoMySiteForm() -->
        <p id="noMySiteTextLine2" class="noMySiteText"></p> <!--gets filled by function: fillNoMySiteForm() -->
    </div>
</div>

and the JavaScript:

<script src="/_layouts/15/init.js" type="text/javascript"></script>
<script src="/_layouts/15/MicrosoftAjax.js" type="text/javascript"></script>
<script src="/_layouts/15/sp.core.js" type="text/javascript"></script>
<script src="/_layouts/15/sp.runtime.js" type="text/javascript"></script>
<script src="/_layouts/15/sp.js" type="text/javascript"></script>
<script src="/_layouts/15/sp.workmanagement.js" type="text/javascript"></script>
<script src="/Style%20Library/kcs/js/jquery.js"></script>

$(document).ready(function () {
    getMyTasks();
});

If you want I can post the full java script file.

Any help or advise would be great.

Edit: Just tried it with:

$(document).ready(function() {
 ExecuteOrDelayUntilScriptLoaded(getMyTasks, "sp.js");
});

and the error stays the same: sp.ui.utility is undefined

Edit2: error was this line:

<script src="/_layouts/15/init.js" type="text/javascript"></script>

real name of the file:

<script src="/_layouts/15/sp.init.js" type="text/javascript"></script>

together with the solution from below it works without any Problems.

7
  • Please tag your SharePoint version Jul 18, 2016 at 12:31
  • made an edit sorry
    – opelhatza
    Jul 18, 2016 at 12:33
  • It seems that your SP.js is not loaded. Jul 18, 2016 at 12:38
  • Are you trying to put the HTML & JavaScript directly into the Content Editor? Jul 18, 2016 at 12:38
  • @AmalHashim no with link from the file.
    – opelhatza
    Jul 18, 2016 at 12:40

1 Answer 1

7

Try this for calling your function:

SP.SOD.executeFunc('sp.js','SP.ClientContext',getMyTasks);

You will get more info from below link:

SP.SOD.executeFunc(key, functionName, fn) Method

4
  • wont work error stays the same sp.ui.utility is undefined. but at least the Browser no longer crashes.
    – opelhatza
    Jul 18, 2016 at 12:48
  • Please try this...I've updated my answer Jul 18, 2016 at 12:54
  • now it works but not fluid it laggs and loads very long. Sadly and as soon as i click somewhere on the site i get an error becouse sp.ui.utility is undefined.
    – opelhatza
    Jul 18, 2016 at 13:01
  • turns out the error was <script src="/_layouts/15/init.js" type="text/javascript"></script> becouse the real name is sp.init.js and together with your code snippet it works. Thanks
    – opelhatza
    Jul 18, 2016 at 14:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.