#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть этот код:
<div id="dialog">
<iframe id="myIframe" src=""></iframe>
</div>
<style>
#myIframe{
width: 100%;
height: 100%;
}
</style>
function showModalSettings(id){
alert(id);
$("#dialog").dialog({
autoOpen: false,
show: "fade",
hide: "fade",
modal: true,
open: function (ev, ui) {
$('#myIframe').src = 'https://www.onet.pl';
},
height: '600',
width: '800',
resizable: true,
title: 'Settings'
});
$('#dialog').dialog('open');
}
showModalSettings(12);
Мне нужно открыть в диалоговом окне jqueryhttps://www.onet.pl (в iframe).
Текущий код показывает мне диалоговое окно правильно, но без onet.pl веб-сайт. Iframe пуст
как это исправить?
Ответ №1:
С помощью jQuery мы используем attr()
метод для изменения атрибутов HTML-элемента.
Ваш код после исправления будет выглядеть следующим образом:
function showModalSettings(id){
alert(id);
$("#dialog").dialog({
autoOpen: false,
show: "fade",
hide: "fade",
modal: true,
open: function (ev, ui) {
//$("#myIframe").src = "https://www.onet.pl";
$("#myIframe").attr("src", "https://www.onet.pl");
},
height: '600',
width: '800',
resizable: true,
title: 'Settings'
});
$('#dialog').dialog('open');
}
showModalSettings(12);
#myIframe{
width: 100%;
height: 100%;
}
<!DOCTYPE html>
<html>
<head>
<title>Hello, world!</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<div id="dialog">
<iframe id="myIframe"></iframe>
</div>
</body>
</html>
Подробнее об этом attr()
читайте по следующей ссылке: https://api.jquery.com/attr /
Примечание: в следующий раз, пожалуйста, покажите библиотеки или фреймворки, которые вы используете (например, jQuery UI в этом вопросе), это поможет любому, кто захочет ответить на ваш вопрос.