2015-05-15 4 views
0

У меня есть следующее в html-файле (gallery.html), который создает базовую галерею изображений.Функция вызова внутри содержимого iFrame

<div id="gallery"> 
    <!-- images are loaded into the container via the javascript function --> 
</div> 


<script> 
    function loadImages(images) { 
     alert("Function Called"); 
     for (var i = 0; i < images.length; i++) { 
      $('#gallery').append("<img class='slides' src='"+images[i]+"'/>"); 
     } 
    } 
</script> 

Затем я хочу, чтобы иметь возможность поместить его в плавающем фрейме и вызвать функцию для загрузки изображений.

Например, я попытался это без успеха

<iframe src="gallery.html" width='400px' height="200px" onload='loadImages(['pic1.png','pic2.png'])'></iframe> 

и

<iframe src="gallery.html" width='400px' height="200px" onload='this.contentDocument.loadImages(['pic1.png','pic2.png'])'></iframe> 

Есть ли способ, что я могу вызвать функцию таким образом (один лайнер) через элемент IFrame в HTML? Это означало бы тогда, что я мог бы просто поставить эту одну строку кода, где бы я ни захотел, чтобы галерея (с разными изображениями) на веб-сайте.

Спасибо, что посмотрели!

+0

возможный дубликат https://stackoverflow.com/questions/251420/invoking-javascript-code-in-an-iframe-from-the-parent- page? rq = 1 – Christian

ответ

3

Вы можете получить доступ к нему через contentWindow:

<iframe src="gallery.html" onLoad="this.contentWindow.loadImages(['pic1.png','pic2.png'])"></iframe> 
+0

Бум! Решив это, я досадовал, что пропустил это. Благодаря! –

+0

@jammycoder принимает anwer! edit: lol, я не понял, что –

+0

@CrisimIlNumenoreano он сделал это так быстро, я должен ждать 4 минуты –

Смежные вопросы