未加载 SharePoint Web 部件图像

本文关键字:图像 Web 加载 SharePoint | 更新日期: 2023-09-27 18:36:45

我在使用 SharePoint 自定义 Web 部件时遇到问题。它已成功部署和激活,并且可以在许多测试环境中工作,但一个特定的环境除外,因此问题应该出在 SharePoint 环境中的某个位置,而不是 Web 部件本身。

当使用默认 SharePoint UI 将 Web 部件添加到该环境的任何 SharePoint 页面时,可以添加它,但所有图像和其他资源都不可见。但是,它们已成功安装并存在于 SharePoint 文件存储库的 FEATURES 文件夹中。

我想它是具有SharePoint配置,权限或其他东西的东西,但不知道到底是什么?

未加载 SharePoint Web 部件图像

问题出在错误的资源 URL 中。在根站点中使用时:

http://mysite/

从 URL 加载资源

http://mysite/myresources/images/image1.jpg

但是当在具有此类URL的网站上使用时

http://mysite/sites/site2

资源仍在从 URL 加载

http://mysite/myresources/images/image1.jpg

但预计它会从以下位置加载:

http://mysite/sites/site2/myresources/images/image1.jpg

溶液

解决方案是将 GlobalPath 添加到资源路径中,因此不使用:

<img src="/myresources/images/image1.jpg" />

我们应该使用它:

<img src=GlobalPath+"/myresources/images/image1.jpg" />

其中全局路径是这样计算的:

var GlobalPath = _spPageContextInfo.siteServerRelativeUrl;
if (GlobalPath == "/") {
    GlobalPath = "";
}

希望这可以帮助某人。