与关于将HTML片段加载到DOM中的一些其他Dart问题一样,我无法弄清楚如何使用我通过AJAX下载的CSS /样式片段做类似的事情。
尝试将其作为样式标记插入HTML只会产生以下消息:
Removing disallowed element <STYLE> // note: original text is lower-case 'style'
答案 0 :(得分:0)
在摆弄了上述问题一段时间后,我自己找到了解决方案。我在这里发布它,以防它帮助其他人,或者有人建议更好的方法。
我发现的问题是我将CSS样式元素作为“innerHtml”注入到DOM容器元素中 - 这被拒绝了。我发现如果我专门创建了一个样式标记元素,那么我可以将CSS作为“text”插入,如下所示:
此代码获取从AJAX服务器下载的HTML和CSS片段,然后将它们插入到主“screen”元素上的新元素中。在此示例中,HTML作为innerHtml插入到基本容器“div”元素中,CSS作为文本注入到样式元素中。然后它们都附加到父元素,并且风格化的HTML立即弹出屏幕。
var screen = querySelector('#myScreen');
var container = new DivElement();
container.innerHtml = html;
var styleElement = new Element.tag('style');
styleElement.text = css;
screen.children.add(styleElement);
screen.children.add(container);