我目前正在开发叠加层并且遇到问题。事实上,我的叠加层是由我在所有网页中注入的iframe实现的。
重叠:http://img641.imageshack.us/img641/691/toolbarm.png
当我按下右侧的关闭按钮时,我想隐藏它。
这是我注入叠加层(iframe)的函数:
injectOverlay: function()
{
var body = $('body'),
OverlayURL= chrome.extension.getURL("overlay.html"),
iframe = $('<iframe id="OverlayFrame" scrolling="no" src="'+OverlayURL+'">');
body.append(iframe);
}
这是隐藏它的代码(但它不起作用):
function hideOverlay()
{
var iframe = document.getElementsByName('iframe')[0];
iframe.parentNode.removeChild(iframe);
// $('#OverlayFrame', window.parent.document).remove();
alert('Overlayclosed');
}
答案 0 :(得分:1)
因为你正在使用jquery,所以只需写
var fram = $("iframe").get(0);
fram.parentNode.removeChild(fram);
只有在整个页面上只有1个iframe时才会有效。否则,您可以在普通的jquery fasion(iframe#id或whatnot)中指定选择器。
答案 1 :(得分:0)
请尝试以下任一选项:
$("iframe").remove()
$('#OverlayFrame').remove()
$('iframe#OverlayFrame').remove()
您可以使用detach()
/ hide()
代替remove()。
答案 2 :(得分:0)
如果你只是想隐藏它,你可能不需要删除它,也许
jQuery('#OverlayFrame').toggle();