如何使用 JavaScript 对象模型以编程方式将 SharePoint 客户端 Web 部件 (AppPart) 添
How to add SharePoint Client WebPart (AppPart) to a page programmatically using JavaScript Object Model?
有时需要以编程方式将AppPart(客户端Webpart)添加到SharePoint页面(特别是在我们处理SharePoint托管应用程序时)。那么如何使用 JSOM 实现此要求呢?
以下是实现上述要求的 JavaScript 代码:
开始之前你需要知道的事情-
- WepPart Zone ID
- 网络部件区域索引
现在,您需要客户端 Web 部件(apppart)的 XML 以编程方式添加它。
- 若要获取此 Web 部件 XML,请手动将客户端 Web 部件添加到任何页面。
- 编辑 Web 部件并允许导出数据。
- 导出 Web 部件(系统将提示您保存 *.wepbart 文件)
复制导出的 Web 部件 XML 中的数据,并准备如下所示的字符串变量:
var webPartXml = '<?xml version='"1.0'" encoding='"utf-8'"?>' +
'<webParts>' +
'<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">' +
'<metaData>' +
'<type name="Microsoft.SharePoint.WebPartPages.ClientWebPart, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />' +
'<importErrorMessage>Cannot import this Web Part.</importErrorMessage>' +
'</metaData>' +
'<data>' +
'<properties>' +
'<property name="TitleIconImageUrl" type="string" />' +
'<property name="Direction" type="direction">NotSet</property>' +
...
...
...
'<property name="ChromeState" type="chromestate">Normal</property>' +
'</properties>' +
'</data>' +
'</webPart>' +
'</webParts>';
现在使用以下代码使用 JavaScript 对象模型以编程方式添加客户端 Web 部件:
function addClientWebPart(pageName,webPartZoneID,webPartZoneIndex) {
var site = context.get_site();
var rootWeb = site.get_rootWeb();
context.load(rootWeb, 'ServerRelativeUrl');
context.load(site);
context.executeQueryAsync(function () {
var rootUrl = rootWeb.get_serverRelativeUrl();
pageFile = rootWeb.getFileByServerRelativeUrl(rootUrl + "/Pages/" + pageName + '.aspx');
////////////
var limitedWebPartManager = pageFile.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared);
var webPartXml = '<?xml version='"1.0'" encoding='"utf-8'"?>' +
'<webParts>' +
'<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">' +
'<metaData>' +
'<type name="Microsoft.SharePoint.WebPartPages.ClientWebPart, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />' +
'<importErrorMessage>Cannot import this Web Part.</importErrorMessage>' +
'</metaData>' +
'<data>' +
'<properties>' +
'<property name="TitleIconImageUrl" type="string" />' +
'<property name="Direction" type="direction">NotSet</property>' +
...
...
...
'<property name="ChromeState" type="chromestate">Normal</property>' +
'</properties>' +
'</data>' +
'</webPart>' +
'</webParts>';
var webPartDefinition = limitedWebPartManager.importWebPart(webPartXml);
var webPart = webPartDefinition.get_webPart();
limitedWebPartManager.addWebPart(webPart, webPartZoneID, webPartZoneIndex);
context.load(webPart);
context.executeQueryAsync(onAddAppPartQuerySucceeded, onAddAppPartQueryFailed);
});
}
相关文章:
- web部件页SharePoint 2013中的Iframe
- JavaScript窗口.位置不;我不在内容编辑器Web部件中工作
- 分析sharepoint 2010 Web部件中的json
- 如何在 Web 客户端上扩展基本字段小部件
- 访问/更改同一页面上另一个Web部件中类的html
- 内容编辑器 Web 部件脚本不在 IE 11 中运行(如果开发人员工具处于打开状态,则运行)
- 多个 Web 部件 JavaScript 依赖项
- 如何使用 JavaScript 对象模型以编程方式将 SharePoint 客户端 Web 部件 (AppPart) 添
- 如何将简单的 jquery 滑块添加到 SharePoint 2010 Web 部件
- SharePoint Javascript (_sp) 不会在上载到客户端 Web 部件库的文件中运行
- 如何在 SharePoint Online 中为内容搜索 Web 部件创建排序/筛选
- 使用不同的数据属性值多次嵌入同一个web小部件
- 使用javascript在web部件页面中获取web部件HTML id
- 窗口小部件-使用JSON响应的Web服务REST
- Javascript:获取SharePoint Web部件-要在页面上显示的对象
- 当列表视图web部件为空时隐藏它们(SharePoint)
- Javascript小部件无法在Sharepoint web部件中工作
- 必应地图Web部件(Java脚本错误)
- 当用户滚动按钮时,如何滑动特定的web部件(HTML)
- 给出小部件(web应用程序)与激活码