2010-07-13 5 views
16

Как динамически вставить iframe в div с помощью jQuery?Как динамически вставить iframe в div

$(document).ready(function() { 
    $("div").html("<iframe src='http://google.com'><iframe>"); 
}); 

Я пробовал вышеуказанный код, но он не работает.

+1

работает для меня. У вас есть ссылка на библиотеку JQuery на странице? – amelvin

+1

Как уже упоминалось ниже, закройте свой тег iframe. Также обратите внимание, что поскольку Google теперь отправляет ответный заголовок «X-Frame-Options: SAMEORIGIN», вы получите пустой iframe, поэтому проверьте его с другим src. – Muleskinner

ответ

16

Что у вас есть работа: http://jsfiddle.net/cUSVj/

Хотя имейте в виде, вы не можете делать с ним после того, как он создан, если он находится в не в том же домене, это происходит из-за ограничения на месте согласно same-origin policy.

Edit: я закрывал тег думая, что это была ошибка вставки, вы действительно хватает / в вашем </iframe> закрывающий тег ... это будет/не будет работать в зависимости от того, насколько щедрым браузер. Не забудьте закрыть его правильно, чтобы ваш HTML был действительным, иначе у вас будут проблемы с перекрестным браузером, , если он работает для начала.

+0

@ lam3r4370 - Это зависит от того, как эти обработчики среды закрывают тег, см. Мой обновленный ответ, я перечитываю ваш вопрос, не видел его в первый раз, просто слепо исправил его в jsfiddle до этого. –

+0

Да, я протестировал его «внутри» phpDesigner, и это потому, что он не работал ... P.S: Да, это моя ошибка пасты. – lam3r4370

+5

+1 за то, что показал мне новую потрясающую вещь, jsfiddle.net. Какого камня я был под этим? – Tommy

3

Реальный код JQuery выглядит нормально, вы не можете быть ссылки на DIV правильно, т.е.

#div - would be an element with the id "div" 
.div - would be an element with the class "div" 
1

Он работает, я просто проверял, что вам может понадобиться отдавания JQuery идентификатор/класс DIV вы хотите вставить iframe

например. (id)

$("#myDiv").html("<iframe src='http://google.com'></iframe>"); 

например. (класс)

$(".myDiv").html("<iframe src='http://google.com'></iframe>"); 
1
<html> 

<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
</head> 


<body> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#frameDiv").html("<iframe src='http://google.com'></iframe>"); 
    }); 


</script> 
<p>An IFrame should appear here</p> 
<div id="frameDiv" style="width: 400px; height: 400px;"></div> 

</body> 
4

Я использовал его, как это и он хорошо работает ;-)

$(".div").html("<iframe width='850' height='450' frameborder='0' scrolling='no' marginheight='0' marginwidth='0' src='http://yourlocation.com'></iframe>"); 
$(".div").css("display","block"); 
+0

этот вопрос получил принятый ответ 2 года назад –

+7

Это не будет ограничивать пользователя ответом на вопрос вообще. Это сообщество, и пользователь может ответить в любой момент, если он думает, что может попробовать –

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