Javascript jQuery对话框中的iframe为空

Javascript jQuery对话框中的iframe为空,javascript,jquery,Javascript,Jquery,我从我的域外抓取了一些html页面,我想在jQuery对话框中显示它,但iframe中的内容是空的。我包括一些外国的css样式,所以html内容必须在iframe中。 下面是JS代码 var text = '<label>TEST Text</label><img src="/somaimage.jpg">'; var helpWrapper = document.createElement('div'); helpWrapper.setAttribute(

我从我的域外抓取了一些html页面,我想在jQuery对话框中显示它,但iframe中的内容是空的。我包括一些外国的css样式,所以html内容必须在iframe中。 下面是JS代码

var text = '<label>TEST Text</label><img src="/somaimage.jpg">';

var helpWrapper = document.createElement('div');
helpWrapper.setAttribute('id', 'help_wrapper');

var helpModal = document.createElement('iframe');
helpModal.setAttribute('id', 'help_iframe');

helpWrapper.appendChild(helpModal);

document.body.appendChild(helpWrapper);
helpModal.contentDocument.getElementsByTagName("html")[0].setAttribute('style', 'display:block;');
var helpBase = helpModal.contentDocument.createElement("base");
helpBase.setAttribute("href", "https://www.outsidedomain.com");
helpModal.contentDocument.getElementsByTagName("head")[0].appendChild(helpBase);
var iframedoc = helpModal.contentDocument || helpModal.contentWindow.document;
iframedoc.body.innerHTML = text;
// 1. test
jQuery("#help_wrapper").dialog({
  autoOpen: true,
  modal: true
});
// 2. test
jQuery("#help_wrapper").html(helpModal);
var text='testtext';
var helpWrapper=document.createElement('div');
setAttribute('id','help_wrapper');
var helpModal=document.createElement('iframe');
setAttribute('id','help_iframe');
appendChild(helpModal);
document.body.appendChild(helpWrapper);
helpModal.contentDocument.getElementsByTagName(“html”)[0].setAttribute('style','display:block;');
var helpBase=helpModal.contentDocument.createElement(“base”);
helpBase.setAttribute(“href”https://www.outsidedomain.com");
helpModal.contentDocument.getElementsByTagName(“头”)[0].appendChild(helpBase);
var iframedoc=helpModal.contentDocument | | helpModal.contentWindow.document;
iframedoc.body.innerHTML=文本;
// 1. 测试
jQuery(“帮助包装器”)。对话框({
自动打开:对,
莫代尔:对
});
// 2. 测试
jQuery(“#help_包装器”).html(helpModal);

我做错了什么?

好的,经过一些实验,我得到了非常简单的解决方案。在第一步中,对话框必须准备好并准备好内容。之后,应将内容插入其中。 像这样的工作代码:

var $dialog = jQuery('<div />').dialog({
  autoOpen: false,
  modal: true,
  closeText: "",
  close: function (event, ui) {
    if ($dialog) {
      $dialog.dialog("close");
      $dialog.remove();
    }
  }
});
var helpIframe = document.createElement('iframe');
helpIframe.setAttribute('id', 'help_iframe');

$dialog.append(helpIframe);

helpIframe.contentDocument.getElementsByTagName("html")[0].setAttribute('style', 'display:block;');

var helpBase = document.createElement("base");
helpBase.setAttribute("href", "https://www.outsidedomain.com");
helpIframe.contentDocument.getElementsByTagName("head")[0].appendChild(helpBase);
helpIframe.contentDocument.body.innerHTML = text;

$dialog.dialog('open');
var$dialog=jQuery(“”).dialog({
自动打开:错误,
莫代尔:是的,
closeText:“”,
关闭:功能(事件、用户界面){
如果($dialog){
$dialog.dialog(“关闭”);
$dialog.remove();
}
}
});
var helpIframe=document.createElement('iframe');
setAttribute('id','help_iframe');
$dialog.append(helpIframe);
helpIframe.contentDocument.getElementsByTagName(“html”)[0].setAttribute('style','display:block;');
var helpBase=document.createElement(“base”);
helpBase.setAttribute(“href”https://www.outsidedomain.com");
helpIframe.contentDocument.getElementsByTagName(“头”)[0].appendChild(helpBase);
helpIframe.contentDocument.body.innerHTML=文本;
$dialog.dialog('open');