2016-01-25 16 views
5

Buduję SPA wewnątrz Sharepoint 2013, przesyłając pliki javascript i html do biblioteki dokumentów. Próbuję uzyskać bieżące informacje o użytkowniku, uzyskując dostęp do informacji kontekstowych za pośrednictwem biblioteki sp.js. Ale pojawia się ten błąd:Informacje o kontekstach Sharepoint na stronie HTML

_spPageContextInfo is not defined 

W moim pliku index.aspx i obejmują następujące JS:

<script src="/_layouts/1033/init.js"></script> 
<script src="/_layouts/MicrosoftAjax.js"></script> 
<script src="/_layouts/sp.core.js"></script> 
<script src="/_layouts/sp.runtime.js"></script> 
<script src="/_layouts/sp.js"></script> 

włączyłem to również na początku pliku index.aspx:

<%@ Page language="C#" %> 
<%@ Register Tagprefix="SharePoint" 
Namespace="Microsoft.SharePoint.WebControls" 
Assembly="Microsoft.SharePoint, Version=14.0.0.0, 
Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Import Namespace="Microsoft.SharePoint" %> 

W moim pliku js mam następujący kod:

$(document).ready(function() { 
    // wait for the sharepoint javascript libraries to load, then call the function 'Initialize' 
    ExecuteOrDelayUntilScriptLoaded(runCode, "sp.js"); 
}); 
function runCode() { 
    var userid= _spPageContextInfo.userId; 
} 

Należy wspomnieć, że używam Angular JS do budowy aplikacji i używam biblioteki Angular UI Router do nawigacji między stronami.

Biblioteka dokumentów znajduje się wewnątrz podwitryny w zbiorze pobocznym.

E.g.

intra.xxx.xxx/xxx/index.aspx

Wszelkie sugestie?

+0

Jak się ładuje twój kontekst? – brannmar

+0

Plik index.aps znajduje się w bibliotece dokumentów wewnątrz programu sharepoint (intra.xxx.xxx/index.aspx). Na index.aspx ładuję wszystkie pliki sp.js. Używam kątowego routera ui do celów routingu. – TietjeDK

+0

Która wersja Sharepoint? Gdzie jest strona? Dokument LIbrary lub system plików? – Max

Odpowiedz

0

Okazało się, że brakowało mi pewnych zależności w stosunku do mojego pliku index.aspx.

Rozwiązanie

Początek index.aspx:

<%@ Page language="C#" %> 
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Import Namespace="Microsoft.SharePoint" %> 
<!DOCTYPE html> 

skrypty w nagłówku:

<!--Sharepoint Dependencies--> 
    <script src="/_layouts/1033/init.js"></script> 
    <script src="/_layouts/1033/core.js"></script> 
    <script src="/_layouts/MicrosoftAjax.js"></script> 
    <script src="/_layouts/SP.Core.js"></script> 
    <script src="/_layouts/SP.Runtime.js"></script> 
    <script src="/_layouts/SP.js"></script> 
    <script src="/_layouts/SP.UI.Dialog.js"></script> 
    <script src="/_layouts/ScriptResx.ashx?culture=en%2Dus&name=SP%2ERes"></script> 

ciała:

<!-- required: SharePoint FormDigest --> 
<form runat="server"> 
    <SharePoint:FormDigest runat="server"></SharePoint:FormDigest> 
</form> 
Powiązane problemy