1

要約: 私が質問しようとしているのは、これは完全に間違った方法ですか? それとも、Sharepoint またはそのリッチ エディターが、追加された HTML を変更するのを止める方法はありますか?

私は、Sharepoint 2007 を中心に展開するプロジェクトに「ドロップ」されました (私を信じてください、私はそれについて完全に満足しているわけではありません)。ユーザーが「リッチ コンテンツ」を挿入してから、展開可能なコンテンツ エリアやダイアログなどの特定の「エクストラ」をコンテンツに追加します。

攻撃の最初の計画は、Sharepoint リッチ コンテンツ エディターのツールバーにカスタム ボタンを追加することでした。これを実行するためのコードがあり、それが機能し、JavaScript イベント ハンドラーを特定の要素 (これも機能します) にアタッチします。

私たちが行っていることの 1 つは、<a>エレメントとそれに続く<div>を使用してダイアログをセットアップすることです (jQuery UI を使用して魔法を行います)。ユーザーが「ダイアログの挿入」ボタンをクリックすると、以下がエディターに挿入されます。

<a href="#" class="dialog-trigger">Click me to open the dialog</a>
<div class="dialog-content">
    this is some dialog content etc
</div>

ページが読み込まれると、.dialog-trigger クリック メソッドにフックし、a要素の兄弟である を取得し、それ.dialog-contentをダイアログとして設定します。何も編集したくない限り、これは「機能」します。

私が見つけたのは、.dialog-contentDIV 内のコンテンツの編集を開始するとすぐに、リッチ コンテンツ エディターが HTML の改変を開始することです。たとえば、リストを追加すると、次の HTML が追加されます。

<li><div class=dialog-content>Some list item</div></li>
<li><div class=dialog-content>Some list item 2</div></li>
<li><div class=dialog-content>Another list item</div></li>

ご想像のとおり、この種のことは私たちがやろうとしていることを壊します。

私が尋ねようとしていることを要約すると、これは完全に間違った方法で行っているのでしょうか、それとも、Sharepoint またはそのリッチ エディターが追加された HTML を変更するのを止める方法はありますか?

4

2 に答える 2

0

HTML をそのままエディター コンテンツに入れるだけでは、エディターが HTML をいじるのを止めることはできません。そのままにしておく必要があるコンテンツがある場合は、それを別の場所に保存し、実際のコンテンツの ID を含むプレースホルダーをエディターに用意する必要があります (例:alt属性に ID を持つプレースホルダー画像)。このようなプレースホルダーは、エディターの保存時に実際の HTML コンテンツに置き換える必要があり、エディターの読み込み時にその逆を行う必要があります。

于 2009-10-22T09:11:32.747 に答える