Вызываете github:davidjbradshaw/iframe-resizer, используя JavaScript без JQuery?
Я пытаюсь использовать https://github.com/davidjbradshaw/iframe-resizer iframe resizer и пример ( https://github.com/davidjbradshaw/iframe-resizer/tree/master/example) кажется основанным на JQuery. Кто-нибудь знает, как вызвать это только через JavaScript без использования JQuery? Требуется ли загрузка тела или я фиксирую событие загрузки в iframe? Я запутался в том, как начать его использовать (вызывать его).
Изменить..., чтобы добавить больше деталей на вопросы.
Зачем? Динамический контент. Мне нужен мой iframe для динамической регулировки его высоты на основе "меняющегося" контента внутри iframe. Я пробовал несколько решений, подобных приведенному ниже, но они не "полностью" решают проблему 100% времени. Они устанавливают размер только на основе "первой страницы" содержимого iframe:
<script type="text/javascript"> <!-- //Credit for script: http://th.atguy.com/mycode/100_percent_iframe/ <script language="JavaScript"> function resize_iframe() { var height=window.innerWidth;//Firefox if (document.body.clientHeight) { height=document.body.clientHeight;//IE } //resize the iframe according to the size of the //window (all these should be on the same line) document.getElementById("glu").style.height=parseInt(height- document.getElementById("glu").offsetTop-8)+"px"; } // this will resize the iframe every // time you change the size of the window. window.onresize=resize_iframe; //Instead of using this you can use: // <BODY onresize="resize_iframe()"> //--></script>
Существующие документы. Не могу понять: я не слежу за существующей документацией DavidBradshaw о том, как это сделать: я попытался добавить этот код следующим образом. Но, видимо, это НЕ так, как вы это делаете.
Тело файла:
<iframe src="http://www.domain.net/store20/StoreTop.aspx?StoreID=17" width="100%" scrolling="no" onload="iFrameResize()"></iframe>
Часть скрипта:
<script type="text/javascript" src="../src/iframeResizer.min.js"></script>
<script type="text/javascript">
<!--
<script language="JavaScript">
iFrameResize();
// this will resize the iframe every
// time you change the size of the window.
window.onresize=iFrameResize;
//Instead of using this you can use:
// <BODY onresize="resize_iframe()">
//--></script>
Также в вызываемом контенте внутри iframe у меня есть эта строка кода. Я уверен, что эта часть верна.
<script type="text/javascript" src="../js/iframeResizer.min.js"></script>
Заранее спасибо за помощь. Я извиняюсь, если мне кажется, что это глупо или это глупый вопрос, но я вижу пример с прототипом: iFrameResize([{options}],[selector]);
Тем не менее, вам не нужно "событие", чтобы вызвать эту функцию? Посмотрите мой код, и я использую событие onload, и оно не работает. Если я установлю идентификатор iframe, чтобы установить [селектор]:
<iframe id="testframe" src="http://www.domain.net/store20/StoreTop.aspx?StoreID=17" width="100%" scrolling="no" onload="iFrameResize()"></iframe>
и назовите это как:
iFrameResize(,testframe);
или это:
iFrameResize(,$("#testframe"));
Это все еще не работает. У меня нет никаких опций, и я хочу сохранить их по умолчанию.
2 ответа
Вы можете сделать либо.
$("#testframe").iFrameResize();
или же
iFrameResize(null,"#testframe");