我照着网上说的例子做,可就是报错,我的smsx.cab放在项目根目录下。
代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD><TITLE> print demo </TITLE>
</HEAD><script>
function printWindow() {
factory.printing.header = "This is MeadCo";
factory.printing.footer = "Printing by ScriptX";
factory.printing.portrait = false;
factory.printing.leftMargin = 1.0;
factory.printing.topMargin = 1.0;
factory.printing.rightMargin = 1.0;
factory.printing.bottomMargin = 1.0;
factory.printing.Print(false);
}
</script><BODY>
<object id="factory" viewastext  style="display:none"
  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
  codebase="http://127.0.0.1:8080/smsx.cab#Version=6,3,435,20">
</object>
<input type="button" name="Print" value="Print" onclick="printWindow();">
</BODY>
</HTML>错误:Error:'factory.printing' 为空或不是对象我应该怎么做呀!

解决方案 »

  1.   

    http://hi.baidu.com/mianju/blog/item/33c8f603ad1f0aed08fa93ce.html
    好好学习,如果弄出来了,麻烦给我也讲解下...
      

  2.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <link href="printcss.css" rel="stylesheet">
    <title></title>
    <OBJECT id=factory style="DISPLAY: none" 
    codeBase="http://IP/ScriptX/ScriptX.cab#Version=5,60,0,360 "
    classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814">
    </OBJECT>
    <SCRIPT defer>
    function aa() {
      factory.printing.header = ""
      factory.printing.footer = ""
      factory.printing.Print(true)
      factory.printing.leftMargin = 0.2
      factory.printing.topMargin = 0.5
      factory.printing.rightMargin = 0.2
      factory.printing.bottomMargin = 1.5
      }
    </SCRIPT>
    </head>給個例子給你。
      

  3.   

    codebase="http://127.0.0.1:8080/smsx.cab#Version=6,3,435,20">这里改成
    <%=path%>/你的项目名
    也就是说现在的路径错误了
      

  4.   


    <object id="factory"   style="display:none"     
      classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"     
      codebase="ScriptX.cab">
    </object><script>   
      function doprint(){
       try{
          factory.printing.header   =  "";   
          factory.printing.footer   =  "";   
          factory.printing.portrait   =   true;     //portrait是指打印方向,设置为true就是纵向,false就是横向。   
                    //......
          factory.DoPrint(true);     //设置为false,直接打印   
          }catch(e){
            alert("提示语句!");
             //....
          }
      }