Динамически удаляйте iframe из себя - PullRequest
0 голосов
/ 25 февраля 2011

В настоящее время я разрабатываю оверлей и у меня есть проблема с ним.Фактически, мой оверлей реализован с помощью iframe, который я вставляю во все веб-страницы.

Overlay: 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');
}

Ответы [ 3 ]

1 голос
/ 25 февраля 2011

Так как вы все равно используете jquery, просто напишите

var fram = $("iframe").get(0);
fram.parentNode.removeChild(fram);

Это будет работать только в том случае, если у вас есть только один iframe на всей странице. В противном случае вы можете указать селектор в обычном jquery fasion (iframe # id или whatnot).

0 голосов
/ 25 февраля 2011

Если вы просто хотите скрыть это, вам не нужно удалять его, возможно

jQuery('#OverlayFrame').toggle();
0 голосов
/ 25 февраля 2011

Попробуйте любой из следующих вариантов:

$("iframe").remove() 
$('#OverlayFrame').remove() 
$('iframe#OverlayFrame').remove()

вы можете использовать detach() / hide() вместо remove ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...