В настоящее время я делаю это, чтобы ввести iframe:
var iFrame = document.createElement ("iframe");
iFrame.src = chrome.extension.getURL ("chrome.html");
iFrame.setAttribute("scrolling", "no");
iFrame.setAttribute("frameborder", "0");
iFrame.setAttribute("style", "border:none; width:100%; height:20%");
document.body.insertBefore (iFrame, document.body.firstChild);
хотя он работает хорошо, он вводит iframe поверх веб-страницы. Таким образом, если вы прокрутили вниз, вам нужно прокрутить вверх, чтобы просмотреть iframe. Мне было интересно, как добавить iframe поверх страницы, где он действует как раскрывающийся список (падает вверху страницы) и исчезает после прокрутки.
Добавь это:
function checkScroll()
{
//remove the iframe
//iFrame.parentNode.removeChild(iFrame);
//or remove after 2 secs
setTimeout(function(){ iFrame.parentNode.removeChild(iFrame); }, 2000);
//off the scroll listener
document.removeEventListener('scroll', checkScroll);
}
document.addEventListener('scroll', checkScroll);
Вы создаете пустой контейнер, который находится поверх вашей страницы (z-index, абсолютное позиционирование), и вместо этого вы добавляете свой ifram вместо первого родителя тела. Вы можете скрыть контейнер onscroll через JavaScript.