【发布时间】:2012-09-02 09:47:28
【问题描述】:
我的应用程序将 HTML 内容动态构建为字符串,并在完成后将内容附加到 DOM。但是,在 WinJS 中,一旦我尝试将字符串附加到 DOM,就会引发异常。为了解决这些异常,我必须通过 toStaticHTML 运行它来清理 HTML,它在 WinJS 和 Internet Explorer 中全局定义。我遇到的问题是有很多使用 data-* html5 属性。一旦我通过 toStaticHTML 运行它们,它们就会被剥离。为什么 toStaticHTML 删除 data-* 属性?他们真正的安全问题是什么?
请注意,我无法将 DOM 插入包装在 MSApp.execUnsafeLocalFunction 中,因为我使用的是 jQuery,并且不允许修改 jQuery 代码。
var html = "<ul><li data-role='list-node'>My list node</li></ul>";
$('#container').html(toStaticHTML(html));
生产:
<ul>
<li>My list node</li>
</ul>
【问题讨论】:
-
$('#container').html(html)不起作用?html无论如何都是一个字符串...
标签: javascript jquery html internet-explorer winjs