8

私は持って<div>いますcontentEditable="true"

編集可能なdiv内にコンテンツをコピーして貼り付けると、貼り付けられたテキストが多くの不要なCSSにラップされます。

たとえば、次のように <p>text text</p> なります。

<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 17px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; background-position: initial initial; background-repeat: initial initial; ">text text</p>

ブラウザ(現在の場合はGoogle Chrome)がスマートですべてを目指していることは理解していますが、最終的にはまったく無関係で不要なCSSになります。

これを生成しないようにWebKitベースのブラウザーに指示する方法はありますか?

4

1 に答える 1

8

同じ問題に加えて、ブラウザごとに異なるHTMLが作成されるという問題がありました。そこで、 SanitizeライブラリのJavaScriptポートを作成しました: Sanitize.js

Sanitize.jsは、JavaScriptで記述されたホワイトリストベースのHTMLサニタイザーです。受け入れ可能な要素と属性のリストを指定すると、Sanitize.jsは受け入れられないすべてのHTMLをDOMノードから削除します。

イベントをキャプチャし、paste後でHTMLを処理する例を見てください。

于 2010-08-30T20:58:31.430 に答える