2

プロジェクトで SPLongOperation オブジェクトを使用して、新しいページへの移動中に遅延を導入しています。組み込みのページでは、デフォルトの CSS スタイルとブランディングが使用されています。

このページのデザインをカスタマイズして、独自のテーマとブランディングを適用したいと考えています。

アニメーションの gears_an.gif 画像を含む SharePoint 2007 スピン ホイールを表示するページに、カスタム マスター ページを適用する方法を教えてください。

前もって感謝します。

4

3 に答える 3

2

ページ レイアウトを変更する唯一の (サポートされていない) 方法は、各 WFE のファイル システムで gear.aspx を更新することです。LAYOUTS のコピーを使用していない限り、これはファーム全体の変更になることに注意してください。LAYOUTS を使用する場合は、通常、LAYOUTS を使用することをお勧めします。

本当に賢くしたい場合は、操作LeadingHTMLTrailingHtmlプロパティの値は、応答ストリームに書き込まれる前にエスケープされません。これらのプロパティの 1 つを使用して<script>、DOM を操作したり、スタイルシート リンクを挿入したりするために を記述できます。

更新:スクリプト インジェクションの簡単な概念実証をここにまとめました。

于 2009-07-03T19:38:25.133 に答える
2

私は、OOB ファイルを変更するだけであることに同意しません。

カスタム HTTPModule を開発することで、ルールを曲げることなくこれを解決できます。この HTTPModule は、問題のページにアクセスしているかどうかを検出し、次のスニペットに従ってそのマスター ページを変更します。

private void page_PreInit(object sender, EventArgs e)
{
  Page page = sender as Page;
  // Do your checking/filtering here
  if (true)
  {
    page.MasterPageFile = "<whatever you have.master";
  }
}
于 2009-07-07T10:08:28.427 に答える
0

残念ながら、SPLongOperationクラスは封印されており、ギアの ASPX ファイルもハードコーディングされています。

これを変更できる唯一の方法は、12\template\layouts\gear.aspxファイルを編集することです。これにより、このファイルに変更を加える将来の製品アップデートで問題が発生する可能性があることに注意してください。

于 2009-07-03T16:39:05.410 に答える