我正在编写一个 WinJS 应用程序,该应用程序将用户复制到剪贴板的 HTML 片段替换为
后来,当我去显示 .html 时,我创建了一个 iFrame 元素(使用 jQuery $(''),并尝试将 .html 导入其中,并得到以下错误
0x800c001c - JavaScript 运行时错误:无法添加动态内容。脚本试图注入可能不安全的动态内容或先前动态修改的元素。例如,使用 innerHTML 属性添加脚本或格式错误的 HTML 将生成此异常。使用 toStaticHTML 方法过滤动态内容,或使用 createElement 等方法显式创建元素和属性。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=247104。
如果我不对图像进行 base64 编码,即保持它们完整并且可以在页面上显示 iframe 并显示图像,我不会得到例外。
如果我在替换 base64 的 url 后获取 html 并通过 toStaticHTML 运行它,它会从标签中完全删除 src= 属性。
我知道带有编码 pngs 的 .html 是正确的 b/c 我可以在 Chrome 中打开它,它显示得很好。
我的问题是我试图弄清楚为什么它会从标签中去除 src= 属性以及如何修复它,例如,在不使用 jquery 和一些 MS voodoo 的情况下创建 iframe,或者使用不同的技术来清理 HTML?