【发布时间】:2017-05-12 05:33:03
【问题描述】:
所以我有这段代码,如果它不存在,则将 iframe 和链接插入到文档中,如果存在则只是一个链接。问题是这需要在自定义 div 中,因此结构如下所示:
<div class="page-reference">
<iframe src="http://www.myiframe.com/1" height="400" id="pageReferenceIframe"></iframe>
<div class="">
<a href="http://www.myiframe.com/1" class="page-reference-link">ref1</a>
</div>
<div class="page-reference-active">
<a href="http://www.myiframe.com/2" class="page-reference-link">ref2</a>
</div>
<div>
<a href="http://www.myiframe.com/3" class="page-reference-link">ref3</a>
</div>
</div>
我需要使用summernote编辑器来实现这一点,以便管理员可以创建一个新链接,并在单击链接时更改iframe的src,这部分工作。什么不工作是这样的:
addReference(reference) {
let hasReferences = /class=\"page-reference\"/.test(this.currentPage().text);
if (hasReferences) {
let pageReference = document.getElementsByClassName('page-reference')[0];
pageReference.appendChild(this.createPageReferenceLink(reference));
} else {
let div = document.createElement('div');
div.classList = 'page-reference';
let iframe = this.createIframe({ site: reference.site, height: 400, width: 80 });
iframe.id = 'pageReferenceIframe';
div.appendChild(iframe);
let link = this.createPageReferenceLink(reference);
link.classList = 'page-reference-active';
div.appendChild(link);
this.insertSummernoteNode(div);
}
}
此代码在每个页面加载一次时有效,然后在页面再次加载之前无效。我通过在每一行上放置一个调试器来检查代码是否在随后执行,并且它们被触发,但问题是pageReference.appendChild(this.createPageReferenceLink(reference)); 没有在第一次之后的任何尝试中附加创建的元素。我不认为我可以使用summernote方法insertNode,因为它似乎无法在特定位置插入。我坚持这一点,任何帮助将不胜感激。
【问题讨论】:
标签: javascript summernote