我有以下内容打开一个加载了html页面的iframe,效果很好,但是如何向页面/ iframe添加关闭按钮,以便它只关闭iframe /页面并且不会影响它打开的页面:< / p>
(function (d) {
var modal = document.createElement('iframe');
modal.setAttribute('src', 'mypage.html'));
modal.setAttribute('scrolling', 'no');
modal.className = 'modal';document.body.appendChild(modal);
var c = document.createElement('link');
c.type = 'text/css';
c.rel = 'stylesheet';
c.href = '//myurl.com/testes.css';
document.body.appendChild(c);
}(document));
我尝试了以下尝试关闭它,但是,然后在iframe中给出了一条404消息:
<a href="window.parent.document.getElementById('iframe').parentNode.removeChild(window.parent.document.getElementById('iframe'))">Close</a>
我在页面上加载jquery,如果它有帮助的话,这意味着,如果有一个jquery解决方案。
答案 0 :(得分:1)
链接应该在某处链接,href
属性需要一个URI。
使用<button type="button">
并将点击处理程序绑定到它。 (您可以使用onclick
属性,但这不是unobtrusive)
不引人注意的方法是:
<a href="someUriWithoutAnIframe" target="_parent">foo</a>
然后沿着
行绑定一个事件处理程序myLink.addEventListener('click', function (e) {
var d = window.parent.document;
var frame = d.getElementById('myFrame');
frame.parentNode.removeChild(frame);
e.preventDefault();
});
答案 1 :(得分:0)
您可以将链接放入iframe的某种容器div中,使用以下结构创建后者:
<div id="iframe-container">
<a href='#' onclick='this.parentNode.parentNode.removeChild(this.parentNode)'>Close</a>
<iframe src="http://some.web/page.html" />
</div>
没有任何框架。