/*弹出拍照*/
        function topDialog(title, width, height, url, color, alpha)
        {
            var jqTopDialog_DivMaskLayer = getTopDialogDivMaskLayer(color, alpha);
            $(window.top.document).find("body").append(jqTopDialog_DivMaskLayer);            var jqTopDialog_DivPanel = getTopDialogDivPanel(title, width, height, url);
            $(window.top.document).find("body").append(jqTopDialog_DivPanel);
        }        function topDialogClose()
        {
            $(window.top.document).find("body").find("#TopDialog_DivMaskLayer").remove();
            $(window.top.document).find("body").find("#TopDialog_DivPanel").remove();
        }        function getTopDialogDivMaskLayer(color, alpha)
        {
            var jqTopDialog_DivMaskLayer = $(document.createElement("div"));
            jqTopDialog_DivMaskLayer.attr("id", "TopDialog_DivMaskLayer");
            jqTopDialog_DivMaskLayer.css("position", "absolute");
            jqTopDialog_DivMaskLayer.css("z-index", "100000");
            jqTopDialog_DivMaskLayer.css("background-color", color);
            jqTopDialog_DivMaskLayer.css("top", "0px");
            jqTopDialog_DivMaskLayer.css("left", "0px");
            jqTopDialog_DivMaskLayer.css("height", window.top.document.body.scrollHeight);
            jqTopDialog_DivMaskLayer.css("width", "100%");
            jqTopDialog_DivMaskLayer.css("display", "block");
            jqTopDialog_DivMaskLayer.css("opacity", alpha);
            return jqTopDialog_DivMaskLayer;
        }        function getTopDialogDivPanel(title, width, height, url)
        {
            var jqTopDialog_DivPanel = $(document.createElement("div"));
            jqTopDialog_DivPanel.attr("id", "TopDialog_DivPanel");
            jqTopDialog_DivPanel.css("position", "absolute");
            jqTopDialog_DivPanel.css("z-index", "100001");
            jqTopDialog_DivPanel.css("background-color", "#ffffff");
            jqTopDialog_DivPanel.css("top", window.top.document.body.scrollHeight / 2 - height / 2);
            jqTopDialog_DivPanel.css("left", window.top.document.body.scrollWidth / 2 - width / 2);
            jqTopDialog_DivPanel.css("height", height);
            jqTopDialog_DivPanel.css("width", width);
            jqTopDialog_DivPanel.css("display", "block");
            var panelModel = getPanelModel(title, width, height, url);            jqTopDialog_DivPanel.append(panelModel);            return jqTopDialog_DivPanel;
        }        function getPanelModel(title, width, height, url)
        {
            var line_left = $(document.createElement("div"));
            line_left.css("background", "url(/Images/topDialog/line_left.gif) no-repeat left top");
            line_left.css("width", "100%");            var line_right = $(document.createElement("div"));
            line_right.css("background", "url(/Images/topDialog/line_right.gif) no-repeat right top");
            line_right.css("padding-right", "3px");
            line_right.css("padding-left", "3px");            line_left.append(line_right);            var line_bottom = $(document.createElement("div"));
            line_bottom.css("background", "url(/Images/topDialog/line_bottom.gif) repeat-x left bottom");            line_right.append(line_bottom);            var line_top = $(document.createElement("div"));
            line_top.css("background", "url(/Images/topDialog/line_top.gif) repeat-x left top");
            line_top.css("padding-top", "2px");
            line_top.css("padding-bottom", "3px");
            line_top.css("text-align", "left");            line_bottom.append(line_top);            var panelHead = $(document.createElement("h1"));
            panelHead.css("color", "#FFFFFF");
            panelHead.css("padding", "0px 6px 0px 15px");
            panelHead.css("margin", "0px 0px 2px auto");
            panelHead.css("height", "21px");
            panelHead.css("float", "right");
            panelHead.css("font-size", "13px");
            panelHead.css("line-height", "21px");
            panelHead.css("vertical-align", "middle");            line_top.append(panelHead);            var closeLink = $(document.createElement("a"));
            closeLink.attr("href", "#");
            closeLink.bind("click", function()
            {                $(window.top.document).find("body").find("#TopDialog_DivMaskLayer").remove();
                $(window.top.document).find("body").find("#TopDialog_DivPanel").remove();
            });
            closeLink.css("float", "right");            var closeImage = $(document.createElement("img"));
            closeImage.attr("src", "/Images/topDialog/shut.gif")
            closeImage.attr("border", 0);
            closeImage.attr("alt", "关闭窗口");            closeLink.append(closeImage);
            var titleText = $(document.createTextNode(title));            panelHead.append(closeLink);
            panelHead.append(titleText);            var jqTopDialog_IFrame = getTopDialogIFrame(width, height, url);            line_top.append(jqTopDialog_IFrame);            return line_left;
        }        function getTopDialogIFrame(width, height, url)
        {
            var jqTopDialog_IFrame = $(document.createElement("iframe"));
            jqTopDialog_IFrame.attr("id", "TopDialog_IFrame");
            jqTopDialog_IFrame.attr("src", url);
            jqTopDialog_IFrame.attr("frameborder", 0);
            jqTopDialog_IFrame.css("height", height);
            jqTopDialog_IFrame.css("width", width);
            jqTopDialog_IFrame.css("border", "0px");
            return jqTopDialog_IFrame;
        }
   </script>
----------------------------------------------------------------------------
<input type="button" value="打开" onclick="topDialog('测试测试测试',500,500,'http://www.163.com','#ffffff',0.5)" />   
--------------------------------------------------------------
以上是我写的一个JS,在IE8下正常可在IE7下就报错。找了半天也不知道问题出在哪里。寻求正解!!!!!!

解决方案 »

  1.   

    错误是: $(window.top.document).find("body").append(jqTopDialog_DivMaskLayer);
    告诉我传入的参数无效,但在IE8 下正常。
      

  2.   

    我也遇到这种情况,ffheie8完全没有问题,ie7就是不求行
      

  3.   

    typeof一下传入的参数,是否是一个DOM element。
      

  4.   

    ie8一下的浏览器的document使用appendChild()时一定要使用这个document对象的createElement方法,否则会提示“参数无效”的错误。