У мене є сторінка, на якій я буду створювати iframe динамічно і додавати його до div. Цей div буде додано до діалогового вікна jquery.
<div id="diviframe"></div>
<script>
var iFrame = $("<iframe id="thepage" width="450" height="400"></iframe>").appendTo("#diviframe");
var iFrameDoc = iFrame[0].contentDocument || iFrame[0].contentWindow.document;
iFrameDoc.write("<p>Some useful html</p>");
iFrameDoc.write("<p>Some useful stuff</p>");
iFrameDoc.close();
$("#diviframe").dialog({
autoOpen: false,
modal: true,
height: 500,
width:500,
open: function(ev, ui) {
}
});
$("#diviframe").dialog("open");
Вміст iframe не записується при його відкритті в діалозі jquery. хто-небудь може запропонувати обхідний шлях для цього?
Оновлення:</ strong>
function test() {
var iFrame = $("<iframe id="thepage" width="500" height="500" src="http://stackoverflow.com"></iframe>").appendTo("#diviframe");
var parent = "divparent";
var iFrameDoc = iFrame[0].contentDocument || iFrame[0].contentWindow.document;
iFrameDoc.write("<p>Some useful html</p>");
iFrameDoc.write("<p>Some useful stuff</p>");
iFrameDoc.close();
return iFrame;
}
var $dialog; //Must be at the global scope
function dialog() {
alert(1);
$.get(test, {}, function(html) {
$dialog.html(html);
$dialog.dialog("open");
});
}
$(function() {
//Initialize (without showing it)
var $dialog = $("<div id="dialog" title=""></div>").dialog({
autoOpen: false,
modal: true
});
});
dialog();
Я намагався викликати функцію динамічно після завантаження діалогового вікна jquery, але виявивши деякі помилки. Як завантажити функцію з діалогового вікна jquery?
Відповіді:
0 для відповіді № 1Я не думаю, що вам потрібно використовувати iframe для того, що ви робите, якщо ви не позбавилися деяких важливих деталей, перш ніж розмістити своє запитання.
Ви можете додати свій вміст безпосередньо до #diviframe, і він буде відображатися дуже добре.
$("#diviframe").append("<p>Some useful html</p>");
$("#diviframe").append("<p>Some useful stuff</p>");
Цікаво - ви намагаєтеся створити прокручувану панель у діалоговому вікні? Якщо так, ви можете встановити CSS div для досягнення того, що вам потрібно:
.myScrollableBox {
width: 450px;
height: 400px;
overflow: auto;
border: 1px solid #000;
}
Можливо, вам захочеться додати певну відстань, щоб текст не був сильно заклинений до кордонів.