Web パーツが編集できなくなる場合がある

こんにちは。今回は SharePoint の Web パーツが編集できなくなる現象とその回避策についてご案内したいと思います。

 

SharePoint のページ上に配置した Web パーツを編集する際には、Web パーツの右上の アイコンをクリックする、もしくは [ページの編集] でデザインモードに切り替えて [編集] ボタンをクリックして編集を行います。

1)      アイコンをクリックする場合

2)    [ページの編集] をクリックする場合

 

しかしながら、状況によっては上記の操作を行っても、上記画面のプルダウンが表示されず、IE のスクリプトエラー「メッセージ: 'style.display' は Null またはオブジェクトではありません。」が発生する場合があります。

  

- 本現象の原因について

この現象はコンテンツエディタ Web パーツのソースに以下のようなタグが含まれている場合に発生します。

 <DIV class="ms-WPBody" id=WebPartWPQ4 webpartid="00000000-0000-0000-0000-000000000000"></DIV>

SharePoint では <div> タグを使用して Web パーツを配置し、“WebPartWPQn” (nは数字) という ID を使用して Web パーツを識別します。ページの HTML ソース上でこの ID が重複する場合に、今回の現象が発生します。

 

SharePoint のサイト上のお気に入りのコンテンツを再利用しようとして、IE で HTML ソースを表示して、対象の部分コピーして貼り付け!という操作を行う場合等にこの現象に遭遇してしまいます。

また、コンテンツエディタ Web パーツだけではなく、リスト ビュー Web パーツなどで参照するアイテムに上記のタグが含まれている場合もこの現象が発生します。

リストの列の型が “複数行テキスト (拡張リッチテキスト)” 列の場合は直接 HTML ソースが埋め込むことができるため、上記のような操作を行った場合は今回の現象が発生します。

(お知らせリストの “本文” などが多いです。)

 

<form> タグ等のサポートされていないタグが使用された場合は以下のような警告メッセージが表示されるのですが、<div> 要素の id 属性まではチェックがされないため、気づかないパターンが結構多いのです。

  • コンテンツエディタ Web パーツのソースに <form> タグを追加した場合

 

- 本現象の回避策について

この現象を回避するためには、以下のようにコンテンツエディタ Web パーツのソースに保存された <div> タグの id 属性を削除します。不要であれば <div> タグそのものを削除します。

 <DIV class="ms-WPBody" ></DIV>

 

少し注意が必要なのは、編集できない現象が発生している Web パーツではなく、それ以外の Web パーツが悪さをしている場合が多い、という点です。

Web パーツがたくさんあって大変!という場合は、対象のページの URL に ?contents=1 というパラメータを付与して、[Web パーツ ページの管理] 画面を開いて 怪しそうな Web パーツを [閉じる] 作業を繰り返して、特定するとういう流れになります。

  • ?contents=1  というパラメータを付与してアクセスすると、

  • 以下の画面に切り替わります。

 

こちらの件については、Technet サイトの「5 minutes トラブルシューティング」に SharePoint サポートチームの人気者の森さんがご案内していますので、ぜひご覧ください。

参考資料:

タイトル : SharePoint の Web パーツ ページが表示できない場合のトラブルシューティング

アドレス : https://technet.microsoft.com/ja-jp/ff806173