私のアプリケーションは HTML コンテンツを文字列として動的に構築し、完了するとコンテンツが DOM にアタッチされます。ただし、WinJS では、文字列を DOM にアタッチしようとすると例外がスローされます。これらの例外を回避するには、toStaticHTML を介して HTML を実行してサニタイズする必要があります。これは、WinJS と Internet Explorer でグローバルに定義されています。私が抱えている問題は、data-* html5 属性が非常に多く使用されていることです。それらを toStaticHTML で実行すると、それらは削除されます。toStaticHTML が data-* 属性を削除するのはなぜですか? 彼らにとっての本当のセキュリティ上の懸念は何ですか?
jQuery を使用しており、jQuery コードを変更することは許可されていないため、MSApp.execUnsafeLocalFunction で DOM 挿入をラップできないことに注意してください。
var html = "<ul><li data-role='list-node'>My list node</li></ul>";
$('#container').html(toStaticHTML(html));
プロデュース:
<ul>
<li>My list node</li>
</ul>