图片库 SlideShow web 部件类被标记为seal,因此无法对其进行扩展。
但它可以在客户端进行定制,更准确地说,幻灯片库 (imglib.js) 中的函数可以被覆盖。
如何在图片库幻灯片 Web 部件中显示全尺寸(原始)图像
下面描述的解决方案允许在幻灯片 Web 部件中显示原始图像。为了完成它,在幻灯片中初始化图片的功能应该被覆盖(见下面的代码)。
步骤 1. 将以下 JavaScript 代码保存到文件中,例如 SlideshowObjectInitializer.txt 并将其上传到 SiteAssets 库
<script type="text/javascript">
function SlideshowObjectInitializer() {
ShowPic = (function(ShowPicOrig) {
return function() {
var ssObj = arguments[0]; //SlideShow object
var curPicIdx=ssObj.index; //current picture index
ShowPicOrig.apply(this, arguments); //call original ShowPic
//apply some changes to display original picture in SlideShow control
ssObj.image.src = ssObj.linkArray[curPicIdx]; //display original image instead of web image
//change picture & container size to auto instead of fixed (by default web image size is used)
ssObj.image.setAttribute('height','100%');
ssObj.image.setAttribute('width','100%');
var cell = ssObj.cell;
cell.style.width = 'auto';
cell.style.height = 'auto';
cell.style.display = '';
var pcell = ssObj.cell.parentNode;
pcell.style.width = 'auto';
pcell.style.height = 'auto';
};
})(ShowPic);
}
ExecuteOrDelayUntilScriptLoaded(SlideshowObjectInitializer, 'imglib.js');
</script>
步骤 2. 在幻灯片 Web 部件所在的页面上添加内容编辑器Web 部件 (CEWP),并在内容编辑器工具窗格中的内容链接下,键入 /SiteAssets/SlideshowObjectInitializer.txt。
有关自定义幻灯片 Web 部件的更多详细信息,请关注此博文