【问题标题】:Cant Create STYLE tag in iframe head无法在 iframe 头中创建样式标记
【发布时间】:2013-07-17 20:06:32
【问题描述】:

这里是 jsfiddle --> http://jsfiddle.net/uTy5j/7/embedded/result/

我正在使用 CodeMirror,似乎 Codemirror 正在删除我创建的样式标签:

var preview = document.getElementById('preview');
var mypreview = preview.contentDocument;
mypreview.open();
mypreview.close();

var style = document.createElement('style');
style.id = 'mycssid';
style.type ='text/css';
mypreview.head.appendChild(style);

任何人都可以弄清楚如何在加载所有内容后将此样式标记附加到 iframe 的头部吗?

jsFiddle 在外部资源中加载了所有 codemirror 脚本和样式。

这里是 jsfiddle --> http://jsfiddle.net/uTy5j/7/embedded/result/

【问题讨论】:

  • 好吧,你不能像那样注入 CSS 源代码(至少不是在所有浏览器中)。另一个问题是您试图通过其 id 找到您的 <style> 元素,但您正在(隐式)查看父文档,而不是 <iframe> 文档。

标签: javascript jquery iframe codemirror


【解决方案1】:

您只需要等到 iframe 加载完毕,然后再尝试插入内容:

preview.onload = function() {
    var style = document.createElement('style');
        style.id = 'mycssid';
        style.type ='text/css';
        mypreview.head.appendChild(style);
}

FIDDLE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-24
    • 2022-01-05
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    相关资源
    最近更新 更多