2014-07-11 1 views
3

Я пытаюсь использовать resizer https://github.com/davidjbradshaw/iframe-resizer iframe, и пример (https://github.com/davidjbradshaw/iframe-resizer/tree/master/example), похоже, основан на JQuery. Кто-нибудь знает, как называть это с помощью JavaScript только без использования JQuery? Нужно ли загружать тело или я могу захватить событие onload iframe? Я смущен тем, как начать использовать его (Invoke it).Вызов github: davidjbradshaw/iframe-resizer с использованием JavaScript без JQuery?

Редактировать ... Чтобы добавить более подробную информацию по вопросам.

  1. Почему? Динамический контент: Мне нужен мой 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> 
    
  2. Existing Docs./Not выяснить это: Я не следуя существующей документации, предоставленной 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> 

Также на вызываемом содержание в пределах фрейма, у меня есть эта строка кода. Я уверен, что эта часть правильная.

<script type="text/javascript" src="../js/iframeResizer.min.js"></script> 

Заранее за помощь. Прошу прощения, если я кажусь плотным или его глупым вопросом, но я вижу пример прототипирования: iFrameResize ([{options}], [selector]);

Однако вам не нужно «событие» для запуска этой функции? Посмотрите мой код, и я использую событие onload, и оно не работает. Если установить идентификатор фрейма, чтобы установить [селектор]:

<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

И что ваша причина для этого? (Кроме того, чтобы сделать жизнь сложнее?) – Joseph

+0

В примере используется jQuery для выполнения операций DOM. Вам это не нужно. – Blender

+2

В документации также показано, как использовать его без jquery. ' –

ответ

3

Вы можете сделать что-либо.

$("#testframe").iFrameResize(); 

или

iFrameResize(null,"#testframe"); 
+0

Из того, сколько раз просматривалась эта страница, и как долго я пытался попытаться решить подобную путаницу, я думаю, было бы полезно, если бы вы указали инструкции для noobs на вашей странице. Мы там, и мы хотим использовать вашу но вы объяснили это тем, кто знает больше, чем мы. Я нашел этот ответ после поиска в течение нескольких часов и только после того, как окончательно начал писать вопрос здесь о SO. Я едва использую JS, но мне нужно это для этой конкретной вещи - я не знаю соглашений о том, как записываются параметры, или сценарии, подобные этому, вызываются внутри страницы. –

+0

@kimholder Вы видели типичный пример сразу после раздела «Начало работы»? Я только что обновил это, включив установку ID в iFrame и передав его iFrameResize(). –

+0

Да, я видел это. Добавление является улучшением. Но - вызов скрипта с помощью: var iframes = iFrameResize ([{options}], [css selector] || [iframe]); '- Куда это происходит и как оно должно быть завернуто? Что входит в последний вариант после двойного vbar? Какая часть синтаксиса - это просто соглашение о том, чтобы сказать «заменить здесь», квадратные скобки? Я хотел бы, чтобы страница в другом месте объясняла это для тех, кто просто хотел использовать плагины, для всех, чтобы ссылаться на noobs. Также