【发布时间】:2016-01-28 02:28:19
【问题描述】:
我想在 javascript 中更改共享文档 webpart 的 JSLink 属性。
有没有办法设置 jslink 属性?
例如
documentsList.set_title("My title");
我可以设置标题,但是有什么方法可以设置 jslink 吗?
【问题讨论】:
标签: sharepoint sharepoint-2013 web-parts sharepoint-clientobject
我想在 javascript 中更改共享文档 webpart 的 JSLink 属性。
有没有办法设置 jslink 属性?
例如
documentsList.set_title("My title");
我可以设置标题,但是有什么方法可以设置 jslink 吗?
【问题讨论】:
标签: sharepoint sharepoint-2013 web-parts sharepoint-clientobject
以下示例演示如何通过 SharePoint JSOM API 设置 Web 部件 JSLink 属性:
var pageUrl = _spPageContextInfo.serverRequestPath; //current page url
var webPartId = 'ab9149d6-8204-460a-9ecc-4219481ff8ca'; //<-- specify web part id
var jsLinkUrl = '~sitecollection/Style Library/tasks.js'; //<-- specify JSLink url
setupJsLink(pageUrl, webPartId,jsLinkUrl,
function(){
console.log('JSLink has been saved');
},
function(sender, args) {
console.log(args.get_message());
});
在哪里
function setupJsLink(pageUrl, wpId,jsLinkUrl,success,error)
{
var context = SP.ClientContext.get_current();
var page = context.get_web().getFileByServerRelativeUrl(pageUrl);
var wpm = page.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared);
var webpartDef = wpm.get_webParts().getById(new SP.Guid(wpId));
var webpart = webpartDef.get_webPart();
var properties = webpart.get_properties();
properties.set_item("JSLink", jsLinkUrl);
webpartDef.saveWebPartChanges();
context.executeQueryAsync(
function () {
success();
},
error);
}
【讨论】:
如果您是通过应用程序执行此操作,则不可能。函数调用将正确执行,您不会收到任何错误,但不会发生任何事情。让你知道。
【讨论】: