我正在尝试使用以下代码动态地将iframe的内容设置为聚合物元素:
$(this.$.frame).contents().find('html').html("<custom-element></custom-element>");
不幸的是,这不起作用。 (iframe只是空的)
有趣的是,当您不使用聚合物元素时,上面的代码可以正常工作。
e.g。
$(this.$.frame).contents().find('html').html("This works");
完美无缺。
感谢您的帮助。
答案 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);