用jquery ui dialog弹出窗口,窗口的内容是<iframe>指向的一个页面,用dialog弹出时造成页面重复加载很多次。这是怎么回事儿?还是弹出窗口的代码有问题?
弹出代码如下:
   var ueditHtml = "<div class=\"fckBoxy\" style='padding:0px;'>" +
                           // "<div class=\"fckMenu\" id=\"FckMenu\"><\/div>" +
                            "<div class=\"fckContent\">" +
                                "<iframe name=\"FckEditorName\"  src=\"/CKEditor/OpenCKEditor\"  onload=\"IFrameFckEditor.load(this);\" style='width:720px;height:520px;'  frameborder=\"0\" ><\/iframe>" +
                                "<div class=\"fckHandle\" >" +
                                    "<div class=\"fckH_Header\">" +
                                        "<a title=\"隐藏工具条\"><\/a>" +
                                    "<\/div>" +
                                    "<div class=\"fckH_Content\" id=\"fckHandle\"><\/div>" +
                                "<\/div>" +
                            "<\/div>" +
                            "<div class=\"fckNav\" id=\"FckNav\"><\/div>" +
                       "<\/div>";  this.fckBoxy = this.fckBoxy || $(ueditHtml).dialog
       ({
           autoOpen: false,
           width: 820,
           height: 560,
           resizable: false,
           modal:true
           , show: {
               effect: "scale",
               duration: 300
           },
           hide: {
               effect: "scale",
               duration: 300
           }
           , open: function (event, ui) {
               IFrameFckEditor.afterShow();
           }
           , beforeClose: function (event, ui) {
               IFrameFckEditor.beforeHide();
           }
           //, close: function (event, ui)
           //{
           //    //IFrameFckEditor.afterHide();
           //}
       });请高手指点。dialogjquery ui

解决方案 »

  1.   

    因为不怎么熟悉FckEditor, 没看懂你代码 ,在弹窗中遇到重复加载内容的问题以前我也有遇到过, 好像是因为load事件和open事件中的处理重复了吧<iframe name=\"FckEditorName\"  src=\"/CKEditor/OpenCKEditor\"  onload=\"IFrameFckEditor.load(this);
           [align=left]   , open: function (event, ui) {
                   IFrameFckEditor.afterShow();
               }[/align]