クライアント側で Google Caja を使用して、セキュリティ上の目的で HTML をサニタイズしています。ただし、さまざまな要素のスタイルは、サニタイズする前に受け取ったものと同じではありません. タグ内にあるものを保持する必要があり、その方法を理解しようとしています。
例として、次の HTML を受け取ります。
<div>
<style>
.btn-active {
background-color: green;
}
</style>
<script> alert('Blah');</script>
<a class="btn-active"></a>
</div>
そしてhtml_sanitize(bodyHtml, urlX, idX);
戻ります:
<div>
<a class="btn-active"></a>
</div>
理想的には、スタイル タグを他のすべてのものと同じに保ちたいと考えています。そのようです。
<div>
<style>
.btn-active {
background-color: green;
}
</style>
<a class="btn-active"></a>
</div>
どこでも解決策を見つけようとしていますが、できません。ドキュメントも参照し、カスタム ポリシーを実装しましたが、それでもスクリプト タグが削除されないように制御することはできません。
Google Cajaでこれを行う方法はありますか?