我正在尝试使用客户端对象模型(CSOM)从SharePoint中提取所有项目信息.以下是我获取项目信息的方式:
projectContext.Load(projectContext.Projects,
c =>
c.Where(p => p.Id == new Guid(id))
.IncludeWithDefaultProperties(f => f.Name, f => f.Owner.Id, f => f.CreatedDate,
f => f.StartDate, f => f.FinishDate, f => f.PercentComplete, f => f.Description));
projectContext.Load(projectContext.LookupTables, c => c.Include(f => f.Id, f => f.Entries));
projectContext.Load(projectContext.Web.SiteUsers);
projectContext.ExecuteQuery();
Run Code Online (Sandbox Code Playgroud)
但是,我还需要从这些项目中检索FieldValues属性,我无法弄清楚如何将它包含在同一个查询中.我从上面的代码中检索项目后,发现如何在项目级别上执行此操作,如下所示:
var pubProject = project.IncludeCustomFields;
projectContext.Load(pubProject);
projectContext.Load(pubProject.CustomFields);
projectContext.ExecuteQuery();
var fieldValues = pubProject.FieldValues;
Run Code Online (Sandbox Code Playgroud)
现在pubProject将包含FieldValues信息,但是对所有项目使用该方法变得太慢(调用SharePoint需要1到4秒),因为我需要为每个项目提出额外请求,CSOM的最佳实践是尽量少打电话.
如果我在include字段中包含FieldValues ,如下所示:
projectContext.Load(projectContext.Projects,
c =>
c.Where(p => p.Id == new Guid(id))
.IncludeWithDefaultProperties(f => f.Name, f => f.Owner.Id, f => f.CreatedDate,
f => f.StartDate, …Run Code Online (Sandbox Code Playgroud) 除浏览器嗅探外,有没有办法确定浏览器是否支持使用数据URI进行超链接?
这是上下文:
我创建一个链接,要么下载使用一个方便的数据URI或者,通过JavaScript产生,如果浏览器不支持使用数据URI的超链接信息的CSV文件,生成所需内容的HTML表格.
现在我的代码检查window.URL属性的存在,这在IE9及以下版本中不存在.(现在这个工作正常,因为我需要支持的IE用户在兼容模式下运行,模拟IE8.)
if(window.URL){
downloadLink.href = "data:text/csv;charset=utf-8," + encodeURIComponent(data);
downloadLink.setAttribute("download","download.csv");
}else{
downloadLink.href= "#";
downloadLink.innerHTML = "table view";
downloadLink.onclick = function(){
// build and display HTML table
return false;
};
}
Run Code Online (Sandbox Code Playgroud)
然而,有一个与在Internet Explorer中的新版本(10,11,以及边缘),它们支持的window.URL对象但有一些重叠不会允许数据URI的超链接.
如何确保下载CSV的链接永远不会显示给不支持此类功能的浏览器?
html javascript internet-explorer data-uri browser-feature-detection
我想知道如何在JavaScript中检测IndexedDB是否可用并启用.
我正在按照这些方针进行测试:
if (window.indexedDB) {
if ((using_chrome && browserVersion >= 24)
|| (usingFirefox && browserVersion >= 16)
|| (usingIe && browserVersion >= 10)
|| (usingEdge && browserVersion >= 12)
|| (usingSafari && browserVersion >= 9)) {
accessible = true;
}
}
Run Code Online (Sandbox Code Playgroud)
但我更倾向于使用特征检测而不是依赖于版本号.
假设用于测试IndexedDB的功能检测是有效的,有没有人知道在页面加载上测试这个的好方法?
最近,我遇到了一台笔记本电脑的问题,该笔记本电脑在某些时候(例如从睡眠模式中出来时)会自动禁用 NumLock。这促使我寻找以编程方式检查 NumLock 是否关闭的方法,如果是,则将其打开。
我正在寻找实现这一目标的最佳方法。我想在发生某些事件时运行该脚本,例如登录笔记本电脑时。我计划通过计划任务来完成此操作,并且我更喜欢使用 PowerShell 而不是 VBScript,但我很乐意使用任何有效的方法。