1

画像ライブラリ スライドショー Web パーツを使用していますが、プレビュー画像ではなく実際の画像を表示したいと考えています。

JQUERY を使用してプレビュー画像の幅をページで必要な幅に拡張する解決策を見つけましたが、これはもちろん画像の品質を損ないます。

アップロードされた実際の画像は次のパスにあります: /Home%20Page%20Banners/Banner2.jpg

SharePoint はプレビュー画像を作成し、別のパスに配置して、ファイルの名前を変更します。たとえば、/Home%20Page%20Banners/_w/Banner2_jpg.jpg

私の質問は、縮小された画像ではなく、アップロードされた実際の完全な画像をプレビュー画像に表示するにはどうすればよいですか?

4

1 に答える 1

1

画像ライブラリ スライドショーWeb パーツ クラスは、封印されているため、拡張する方法はありません。

ただし、クライアント側でカスタマイズすることもできます。より正確には、Slideshow ライブラリ (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 パーツのカスタマイズの詳細については、このブログ投稿に従ってください

于 2013-04-28T15:12:31.450 に答える