将iframe的内容设置为聚合物元素

时间:2014-08-25 13:41:10

标签: javascript jquery html iframe polymer

我正在尝试使用以下代码动态地将iframe的内容设置为聚合物元素:

$(this.$.frame).contents().find('html').html("<custom-element></custom-element>");

不幸的是,这不起作用。 (iframe只是空的)

有趣的是,当您不使用聚合物元素时,上面的代码可以正常工作。

e.g。

$(this.$.frame).contents().find('html').html("This works");

完美无缺。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我怀疑问题是iframe运行时有自己的文档上下文和自己的javascript上下文。这意味着您在文档中注册的自定义元素在iframe中是未知的。

尝试:

var source = '<script src='path/to/platform/platform.js'></script>';
source += '<link rel='import' href='path/to/custom-element/custom-element.html'>';
source += '<custom-element></custom-element>';
$(this.$.frame).contents().find('html').html(source);