Расширение Safari накладывает фрейм на каждую страницу - PullRequest
0 голосов
/ 27 февраля 2011

Я пишу расширение Safari.Когда я нажимаю кнопку на панели инструментов, необходимо наложить контент из другого источника вверху страницы.

Как разместить его в верхнем левом углу браузера, поверх контента?Когда я нажимаю кнопку закрытия, iframe должен быть уничтожен с отображением ранее скрытого контента?

Спасибо!

1 Ответ

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

Вы можете поместить CSS либо в строку, либо в таблицу стилей.

<iframe src="http://path.to/content" style="width: 200px; height: 100px; 
position: absolute; top: 0; left: 0; z-index: 100000;" id="overlay_frame"></iframe>

Затем, для вашей ссылки "закрыть", у вас есть выбор: либо полностью уничтожить iframe:

<a href="#" onClick="document.getElementById('overlay_frame').removeChild( 
document.getElementById('overlay_frame').childNodes[0] );">Close</a>

или просто скрывая это:

<a href="#" onClick="document.getElementById('overlay_frame').style.display='none';">Close</a>

Лично я бы просто спрятал его, чтобы вы могли снова использовать его, изменив источник:

<a href="#" onClick="document.getElementById('overlay_frame').src='http://link.to/something/else';">Change Frame</a>
...