1

我正在尝试使用以下 javascript 代码(我正在使用 JSOM)获取与从 SharePoint 文档库中检索到的文档相对应的图标 url/名称:

function GetIcon(filename)
{
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var iconName;
iconName = web.mapToIcon(filename, '', SP.Utilities.IconSize.Size16);
var iconUrl =  "/_layouts/images/" + iconName.get_value();

alert(iconUrl);
}

我无法在代码中观察到任何问题,但它总是将图标名称显示为“0”,而不是显示真正的图标名称(即 icdoc.gif、ictxt.gif 等)。我在这里错过了什么吗?请指导我完成这个。

4

2 回答 2

0

你的代码对我来说很好。如果文件不存在并且文件扩展名无法识别,它甚至可以工作。此外,似乎不涉及权限。

如果您使用 Chrome 浏览该页面并查看开发人员工具 (F12) 的“网络”选项卡,您可以查看请求的原始响应。请求的名称是“处理查询”。下图显示了我所指的区域。这应该让你对这个问题有更多的了解。

在此处输入图像描述

于 2014-07-18T16:34:10.897 回答
0

iconName 将仅在调用 executeQueryAsync 后填充

context.executeQueryAsync(function() {
    var iconUrl = "/_layouts/images/" + iconName.get_value();
    alert(iconUrl);

}, function() { alert("Errors"); });
于 2014-11-17T13:27:01.717 回答