#jquery #iframe
#jquery #iframe
Вопрос:
В содержимом страницы у меня есть какой-то внешний iframe, проблема в том, что я не хочу, чтобы scroll отображался в этом iframe, но я не знаю, как долго это будет iframe??
<iframe id="newsletter"
src="http://www.vimontline.com/"
frameborder="0"
width="100%"
marginheight="0"
marginwidth="0"
scrolling="no">
</iframe>
Нет проблем с шириной, проблема у меня с высотой, я хочу удалить scrool из моего iframe, но я не хочу, чтобы он кодировал как height =»100px», есть идеи с jquery, как получить iframe внутри height, чтобы я добавил к своему идентификатору эту высоту?
Комментарии:
1. Вы не можете использовать jQuery для доступа к содержимому
iframe
файла, в котором есть внешний URLsrc
-адрес. Другими словами — это невозможно.
Ответ №1:
Вы не можете получить доступ к этой информации с родительской страницы. Если вы управляете URL-адресом, загруженным в iframe, то вы можете указать его родительскому элементу изменить размер после загрузки DOM.
Код в iframe:
parent.resizeFrame(document.body.scrollHeight)
Код для родительской страницы:
function resizeFrame(height) {
document.getElementById('blogIframe').style.height = parseInt(height, 10) "px";
}
Возможно, вам потребуется добавить немного больше к высоте, чтобы предотвратить несоответствие полосы прокрутки в разных браузерах.
Комментарии:
1. Я не могу управлять внешней страницей?
2. Тогда вы не сможете достичь своей цели. Извини, приятель.
Ответ №2:
динамическое изменение размера iframe может быть достигнуто (междоменное) с помощью этих скриптов iframeResizer.
Вам нужно будет запустить скрипт на родительской странице (iframeResizer.min.js ) и еще один внутри iframe (iframeResizer.contentWindow.min.js ).
Он использует API postmessage, и это сработало для меня
Я надеюсь, что это поможет
Комментарии:
1. К сожалению, для того, чтобы это работало, вам нужно будет контролировать код iframe
Ответ №3:
Как говорит FreeAsInBeer, это не то, что вы действительно можете сделать в целях безопасности, просто для получения дополнительных разъяснений см.:
Политика того же происхождения amp; Совместное использование ресурсов из разных источников
Это единственное, что я видел в этом: http://css-tricks.com/cross-domain-iframe-resizing / но я бы тоже этого не рекомендовал.
Ответ №4:
Вы можете использовать приведенный ниже js-код, чтобы получить высоту iframe
setTimeout(function () {
$('iframe#newsletter').css('height', $(window).height() 'px');
}, 1000);
Это решение будет работать для вас, вам не нужно определять высоту, оно автоматически определяет высоту