【问题标题】:Sharepoint Context Info in HTML pageHTML 页面中的 Sharepoint 上下文信息
【发布时间】:2016-02-04 18:56:17
【问题描述】:

我正在通过将 javascript 和 html 文件上传到文档库来在 Sharepoint 2013 中构建 SPA。我试图通过 sp.js 库访问上下文信息来获取当前用户信息。但我得到这个错误:

_spPageContextInfo is not defined

在我的 index.aspx 文件中,我包含以下 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>

我还在 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" %>

在我的 js 文件中,我有以下代码:

$(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;
}

应该提到的是,我使用 Angular JS 来构建应用程序,并且我使用 Angular UI Router 库在页面之间导航。

文档库位于边集中的子站点内。

例如

intra.xxx.xxx/xxx/index.aspx

有什么建议吗?

【问题讨论】:

  • 你是如何加载你的上下文的?
  • index.aps 位于 sharepoint (intra.xxx.xxx/index.aspx) 内的文档库中。在 index.aspx 上,我正在加载所有 sp.js 文件。我使用 Angular ui 路由器进行路由。
  • 哪个 Sharepoint 版本?页面在哪里?文档库还是文件系统?
  • 魔线投掷错误?你能贴出代码吗,我认为你必须在加载 sp.js 库后通过manual initialization 启动 Angular 应用程序
  • 为什么这个问题被否决了?我错过了什么吗?

标签: javascript angularjs sharepoint


【解决方案1】:

事实证明,我显然在我的 index.aspx 文件上缺少了一些共享点依赖项。

解决方案

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>

标题中的脚本:

<!--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>

主体:

<!-- required: SharePoint FormDigest -->
<form runat="server">
  <SharePoint:FormDigest runat="server"></SharePoint:FormDigest>
</form>

【讨论】:

    猜你喜欢
    • 2014-07-02
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 2010-09-19
    • 2021-03-10
    • 1970-01-01
    相关资源
    最近更新 更多