SharePoint链接列表默认为在新窗口中打开是一种常见的行为,该行为可以通过SharePoint配置和代码实现。以下为两种方式:
```javascript
function GetListUrl(ctx) {
var ctxUri = new SP.ClientContext(ctx.ServerRelativeUrl);
var list = ctxUri.GetListItemAllFields(0, 1000);
var listSiteUrl = list.GetSite().Url;
var listUrl = list.EnsureExists();
var fullListUrl = listUrl + $":{ctxUri.NamespaceURI}?Web&Lists&ID={ctxUri.List.ID}&RootFolder=[URL](/{ctxUri.ServerRelativeUrl}/)Lists/{ctxUri.List.ID}(ViewList)&IsDlg=1";
// Return the list view (url) as the default target to ensure that new windows are opened when a link to the list is clicked
return fullListUrl;
}
// Apply the 'target' change to the list view(s) used by SP.UI.CoreNavigation.js
function SetListUrl(ctx, target) {
var selector = 'ul[' + ctx.List.Title + ']:first li a';
var elements = document.querySelectorAll(selector);
elements.forEach(function (element) {
SP.UI.CoreNavigation.LinkUrl(element, { LinkUrlBehavior: SP.UI.CoreNavigation.Enums.LinkUrlBehavior.NewWindow });
})
}
// Load the list view(s) when the document(s) in the page are loaded
function LoadListView() {
var viewsToLoad = document.querySelectorAll('ul[SharePointSiteName]:not([SiteRelativeUrl]) li[Url]');
viewsToLoad.forEach(function (view) {
SetListUrl(view, GetListUrl(view));
})
}
// Initialize the 'LoadListView' function in the document(s) where SharePoint list views are rendered
if (!document.body.classList.contains("my-custom-page")) {
SP.SOD.executeFunc('sp.js', 'SP.UI.CoreNavigation.js', LoadListView);
}
```
注意:SharePoint版本的升级可能会影响到代码的兼容性,建议使用最新的SharePoint版本进行测试。同时,需要注意的是,修改SharePoint配置或代码可能会影响SharePoint站点的安全性和稳定性,操作前请谨慎评估风险。
1.内部链接(当前文档与目标文档在同一站点内); 2.外部链接(当前文档与目标文档不在同一站点内); 3.E-mail链接(并允许访问者向指定的地址发送邮件); 4.锚点连接 跳转到同一网页或其他文档的指定位置:创建锚点,显示内容链接锚点,显示内容; 5.空链接,就是没有目标端点的链接,显示内容; 6.脚本链接:是一种特殊的链接,当单击设置脚本链接的文本或图像时,可以运行相应的JS语句。