在IE9中没有使用iframe的Jquery对话框。
我的parent.aspx上有一个HTML按钮
<input type="button" id="btnMessageFilter" class="mainFont" value="Message Filter"/>
在“btnMessageFilter”上单击,我想在Jquery对话框中打开另一个aspx页面(child.aspx);我是这样做的:
$(document).ready(function () {
$("#btnMessageFilter").live('click', function () {
var iframe = $("<iframe>").attr({
"src": "MessageFilter.aspx?btn=btnRefresh",
"height": "100%",
"marginwidth": "0",
"marginheight": "0",
"scrolling": "auto",
"frameborder": "0"
});
$("#dialog2").empty().append(iframe);
$("#dialog2").dialog({
modal: true,
title: 'Message Filter',
width: 400,
height: 450
});
$("#dialog2").parent().appendTo('form');
return false;
});
});
除IE9外,代码工作正常。有关修复上述鳕鱼的建议或在Jquery Dialog中打开另一个aspx的替代方法吗?
答案 0 :(得分:3)
我不确定您的代码有什么问题。但我在我的网站的某些页面上使用iframes + jQuery-ui对话框,如下所示:
var iframe = $('<iframe frameborder="0" marginwidth="0" marginheight="0" allowfullscreen></iframe>');
var dialog = $("<div></div>").append(iframe).appendTo("body").dialog({
autoOpen: false, // autoopen is set to false (we'll create only one dialog and open it on-demand)
modal: true,
resizable: false,
width: "auto", // set width and
height: "auto", // height to auto (we'll set width/height on the content)
close: function() {
iframe.attr("src", ""); // load blank document in iframe
// can be useful in situations, for example,
// when your frame is playing audio or video
}
});
$('#btnMessageFilter').click(function() {
iframe.attr("width", 400).attr("height", 200); // set width/height on the content
dialog.dialog("option", "title", "Message Filter").dialog("open");
iframe.attr("src", "http://example.com");
});
答案 1 :(得分:0)
我正在回复此帖子,因为我还没找到解决此问题的正确方法。
要解决此问题,请确保在操作结束时设置“iframe src”。
示例 - 在上述情况下,必须在.dialog()调用之后设置src。