未加载 SharePoint Web 部件图像
本文关键字:图像 Web 加载 SharePoint | 更新日期: 2023-09-27 18:36:45
我在使用 SharePoint 自定义 Web 部件时遇到问题。它已成功部署和激活,并且可以在许多测试环境中工作,但一个特定的环境除外,因此问题应该出在 SharePoint 环境中的某个位置,而不是 Web 部件本身。
当使用默认 SharePoint UI 将 Web 部件添加到该环境的任何 SharePoint 页面时,可以添加它,但所有图像和其他资源都不可见。但是,它们已成功安装并存在于 SharePoint 文件存储库的 FEATURES 文件夹中。
我想它是具有SharePoint配置,权限或其他东西的东西,但不知道到底是什么?
问题出在错误的资源 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 = "";
}
希望这可以帮助某人。