Я смотрел толстый ящик jQuery для отображения модальных диалогов с изображениями, это здорово. Но теперь мне нужно отобразить скрытый блок содержимого, содержащий iFrame, аналогичным образом со ссылкой для открытия содержимого. Так что у меня было бы что-то вроде этого.
<a href = "">Open window in Modal Dialog</a>
<div id = "myContent">
<h1>Look at me!</h1>
<iframe src = "http://www.google.com" />
</div>
И нужно показать это в диалоге. Является ли это возможным?

Thickbox поддерживает это. См. Демонстрацию встроенного контента на http://jquery.com/demo/thickbox/
Я использую jqModal, он отлично работает и легкий. Вот как я могу заставить его работать с iFrame
Это HTML
<div class = "jqmWindow" id = "modalDialog">
<iframe frameborder = "0" id = "jqmContent" src = "">
</iframe>
</div>
И телефонный код
function showModal(url, height, width)
{
var dialog = $('#modalDialog')
.jqm({
onShow: function(h) {
var $modal = $(h.w);
var $modalContent = $("iframe", $modal);
$modalContent.html('').attr('src', url);
if (height > 0) $modal.height(height);
if (width > 0) $modal.width(width);
h.w.show();
}
}).jqmShow();
}
function closeModal(postback)
{
$('#modalDialog').jqmHide();
}
У меня есть расширение для диалогового окна jQueryUI, которое использует iFrame в качестве базового представления ... оно регулирует несколько значений по умолчанию (например, добавление кнопки ОК / Отмена), но должно быть достойной базой для того, что вам нужно. Я знаю, что это старый вопрос, но просто хочу, чтобы люди знали о нем.
http://plugins.jquery.com/project/jquery-framedialog
Ниже приведены подробности моего исправления. Надеюсь, вы сможете интегрировать эти изменения в свой плагин JQuery. Я использую jquery 1.4.2 и jquery UI 1.8.2.
В jquery-frameddialog.js я изменил ширину и высоту на 100% (не в пикселях), а затем изменил ИСПРАВЛЕНИЕ для jQueryUI 1.7 на следующее:
wrap.bind('dragstart', function() { overlay.show(); })
.bind('dragstop', function() { overlay.hide(); })
.bind('resizestart', function() { overlay.show(); })
.bind('resizestop', function() { overlay.hide(); });
Я пробовал этот плагин, и он скрывает полосу прокрутки. Не могли бы вы это исправить? - [См. Мой ответ]