У меня есть приложение, которое я бы хотел встроить в наши компании CMS. Единственный способ сделать это (я сказал) - загрузить его в .<iframe> - Как показать всю высоту ссылочной страницы?
Легко: просто установите height
и width
на 100%
! Кроме того, это не сработает.
я не узнал о настройке frameborder
в 0
, так что, по крайней мере выглядит как часть сайта, но я предпочел бы не иметь некрасивый скроллбар внутри страницу, которая Allready имеет один.
Знаете ли вы о каких-либо трюках?
EDIT: Я думаю, что нужно прояснить мой вопрос несколько:
- компания CMS отображает пух и материал для всего нашего сайта
- большинство страниц, созданные с помощью CMS
- моего приложения нет, но они позволят мне вставить его в
- У меня нет контроля над
iframe
, поэтому любое решение должно работать со ссылочной страницы (согласноsrc
атрибута тегаiframe
) - К отображают колонтитул, поэтому установку высоты до 1 миллиона пикселей не является хорошей идея
Могу ли я получить доступ к родительской странице DOM из указанной страницы? Это может помочь, но я могу видеть, что некоторые люди, возможно, не хотят, чтобы это было возможно ...
Этот метод, кажется, работает (gleaned из нескольких источников, но вдохновленный link из принятого ответа:
В родительский документ:
<iframe id="MyIFRAME" name="MyIFRAME"
src="http://localhost/child.html"
scrolling="auto" width="100%" frameborder="0">
no iframes supported...
</iframe>
В детстве:
<!-- ... -->
<body>
<script type="text/javascript">
function resizeIframe() {
var docHeight;
if (typeof document.height != 'undefined') {
docHeight = document.height;
}
else if (document.compatMode && document.compatMode != 'BackCompat') {
docHeight = document.documentElement.scrollHeight;
}
else if (document.body
&& typeof document.body.scrollHeight != 'undefined') {
docHeight = document.body.scrollHeight;
}
// magic number: suppress generation of scrollbars...
docHeight += 20;
parent.document.getElementById('MyIFRAME').style.height = docHeight + "px";
}
parent.document.getElementById('MyIFRAME').onload = resizeIframe;
parent.window.onresize = resizeIframe;
</script>
</body>
КСТАТИ: Это будет работать только в том случае, если родитель и ребенок находятся в том же домене из-за ограничений в JavaScript по соображениям безопасности ...
Не могу поверить, что эта ссылка была принята только, и голосование голосовало несколько раз. – 2016-01-28 01:29:30