精华内容
下载资源
问答
  • 如果在项目里使用了ScriptX进行WEB打印时候出错并提示:factory.printing为空或不是对象,不能打印,那么原因我自己认为是有2个:  1、ScriptX插件没有安装好;  2、安装的ScriptX和项目里的smsx.cab版本不一致。...

    如果在项目里使用了ScriptX进行WEB打印时候出错并提示:factory.printing为空或不是对象,不能打印,那么原因我自己认为是有2个:

            1、ScriptX插件没有安装好;

            2、安装的ScriptX和项目里的smsx.cab版本不一致。


    其实很好解决。


    首先,建议你重新在官方网站上下载最新的ScriptX:点击下载


           下载后直接安装,默认安装即可。


           安装完毕后会自动打开一个网页,先别急着关掉,如果你英文水平够好,可以从中看到不少东西,包括怎么使用。

            (强烈建议看完它,此HTML文件是在安装的根目录下:C:\Program Files\MeadCo ScriptX Resource Kit\readme Client.htm)


           当然你可以使用谷歌浏览器把它翻译成中文,但会对其中代码有影响。


    然后,在ScriptX安装的目录下的redist文件夹中把smsx.cab拷贝到你的项目中,如我的安装目录是:

                 C:\Program Files\MeadCo ScriptX Resource Kit\redist


    最后,一定要确认页面中<object></object>中的codebase的路径正确和安装的ScriptX版本对应。这样应该就可以了。


    我自己的例子:

    ScriptX版本 : 7,0,0,8

            页面内容:

    <!-- MeadCo Security Manager -->
    <object id="secmgr" viewastext style="display:none"
    	classid="clsid:5445be81-b796-11d2-b931-002018654e2e"
    	codebase="/oa/suppliesmgm/js/smsx.cab#Version=7,0,0,8">
    	<param name="GUID" value="{0ADB2135-6917-470B-B615-330DB4AE3701}">
    	<param name="Path" value="http://www.meadroid.com/scriptx/sxlic.mlf">
    	<param name="Revision" value="0">
    </object>
    
    <!-- MeadCo ScriptX -->
    <object id="factory" viewastext style="display:none"
    	classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814">
    </object>

    JS代码:

    //打印
    function fun_print() {  
        factory.printing.header = "";//页眉  
        factory.printing.footer = "";//页脚  
        factory.printing.leftMargin = 1.0;//左边距  
        factory.printing.topMargin = 1.3;//上边距  
        factory.printing.rightMargin = 1.0;//右边距  
        factory.printing.bottomMargin = 1.3;//下边距  
          
        factory.printing.portrait = true;//打印方向,true:纵向.false:横向  
        factory.DoPrint(false);//设置为false,直接打印  
    }
    上面JS函数只要在你定义的打印按钮调用它即可。

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------


    不知道为什么我如果像下面形式就不行,还会报上没为空或不是对象的提示,所以我只能按照官方详细的写法(上面):

    <!-- MeadCo ScriptX -->
    <object id="factory" viewastext style="display:none"
       classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
       codebase="http://[your_path]/smsx.cab#Version=7,0,0,8">
    </object>



    展开全文
  • 在做一个打印功能的时候,用到了smsx.cab 控件,挺好用的,在客户端打印的时候,会提示安装此控件,然后选择安装就可以了,但不知为什么,有的机器不提示安装此控件,报”factory printing 为空或不是对象。...
    在做一个打印功能的时候,用到了smsx.cab 控件,挺好用的,在客户端打印的时候,会提示安装此控件,然后选择安装就可以了,但不知为什么,有的机器不提示安装此控件,报”factory printing 为空或不是对象。既然有的机器可以,有的不可以,那肯定不是程序的问题。在网上找了好长时间,试过很多办法,都没有解决,后来在无意间,看到一个修改注册表的方法,终于解决了!特此,贴出来,希望和我一样,遇到此问题的同仁少浪费些时间,少走些弯路。
    HKEY_LOCAL_MACHINE---SOFTWARE---MICROSOFT---Internet Explore---ActiveX
    ComPatibility --- 1663ed61... 400--0
    展开全文
  • question1:factory.printing为空或不是对象 一、设置IE浏览器的安全性 1、/Internet 选项/安全/自定义级别/设置中的ActiveX控件自动提示“禁用”。 (一般默认情况就是禁用) 2、对标记为可安全执行脚本ActiveX控件...

    question1:factory.printing为空或不是对象

    一、设置IE浏览器的安全性

    1、/Internet 选项/安全/自定义级别/设置中的ActiveX控件自动提示“禁用”。 (一般默认情况就是禁用)
    2、对标记为可安全执行脚本ActiveX控件执行脚本“启用” (一般默认情况就是启用)
    3、对没有标记为安全的ActiveX初始化和脚本运行“启用”(下载插件后在改为禁用) 需修改
    4、下载未签名的ActiveX控件“启用”(下载插件后在改为禁用) 需修改
    5、下载已签名的ActiveX控件“提示” (一般默认情况就是提示)
    6、运行ActiveX控件和插件“启用”(一般默认情况就是启用)

    二、解压并安装smsx.cab控件安装包

    1、解压smsx.cab控件安装包并安装smsxw.msi

    2、确定smsxmsi.inf文件中MCScrptX.dll的clsid为{1663ed61-23eb-11d2-b92f-008048fdd814}

    三、修改或添加注册表

    1、点击开始菜单栏,输入‘regedit’,打开注册表;

    2、打开HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/ActiveX Compatibility为ie浏览器控件的加载选项,查找ActiveX Compatibility下面对应的项{1663ed61-23eb-11d2-b92f-008048fdd814}对应的dword值为0;
          说明: "Compatibility Flags"=dword:00000400
                      十六进制为400,十进制1024 为禁止浏览器加载控件 我们把它改为0设为允许
                      "Compatibility Flags"=dword:00000000
    3、关闭注册表 刷新一下;

    4、若没有{1663ed61-23eb-11d2-b92f-008048fdd814}这个项,则直接新建一个此名称的项,并且在此项下新建一个DWORD,值设为0;

    四、在 Internet选项/程序/管理加载项/'选择'未经许可可运行 看到如下加载项,则表示成功

    注:

    1、最终将浏览器的安全性的修改回来以保证安全;

    2、如果以上这些操作做完后还是出现factory.printing为空或不是对象,那说明你本机电脑有两个IE浏览器,

    一个是Internet Explorer,一个是Internet Explorer(64),观看是哪个IE浏览器显示上面四步骤的结果则用哪个即可。

     

     

    question2:Error querying the default printer

    原因是因为本地需指定一个默认的打印机

    一、有多种方法,比较常见的有两种:
    1、可以先安装打印机程序,然后根据提示接通打印机数据线和电源,它会自动安装以下驱动程序。
    2、直接在控制面板-打印机-添加打印机。然后自己搜索所对应的打印机驱动程序。

     

    展开全文
  • 问题: 用到ScriptX.cab打印控件,总是提示factory.printing.header为空或不是对象,脚本如下:  var h = form1.factory.printing.header;  var f = form1.factory.printing.footer;

    问题:

    用到ScriptX.cab打印控件,总是提示factory.printing.header为空或不是对象,脚本如下:
                                    var h = form1.factory.printing.header;
                    var f = form1.factory.printing.footer;
                    var t = form1.factory.printing.topMargin;
                    var b = form1.factory.printing.bottomMargin;
                    var l = form1.factory.printing.leftMargin;
                    var r = form1.factory.printing.rightMargin;
                           
                    //设置页眉页脚上下左右边距
                    form1.factory.printing.header = "";
                    form1.factory.printing.footer = "";
                    form1.factory.printing.topMargin="19.05";//存在最小默认值5.02
                    form1.factory.printing.bottomMargin="19.05";//存在最小默认值4.13
                    form1.factory.printing.leftMargin="19.05";//存在最小默认值5.08
                    form1.factory.printing.rightMargin="19.05";//存在最小默认值6.79
                    // 直接打印
                   
                    form1.factory.printing.Print(true);//true时弹出打印对话框
                    //返回到原来的打印设置
                    form1.factory.printing.header = h;
                    form1.factory.printing.footer = f;
                    form1.factory.printing.topMargin=t;
                    form1.factory.printing.bottomMargin=b;
                    form1.factory.printing.leftMargin=l;
                    form1.factory.printing.rightMargin=r;
    body里面<object name="factory" id="factory" style="DISPLAY: none" codebase="ScriptX.cab#Version=6,2,433,14" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814">
            </object>

    解决方案:

    1、从网站下载打印控件包
    2、安装下载的控件
    3、安装不成功的可以手动注册dll文件:在开始---运行里分别输入以下内容并回车
    regsvr32 mcprintx.dll  
      regsvr32 mcscripx.dll  
      regsvr32 mcmaxipt.dll  
      regsvr32 mcsecmgr.dll

    并注意看返回的信息是否成功并执行4修改注册表。
      4、修改注册表:打开注册表,打开[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{1663ed61-23eb-11d2-b92f-008048fdd814}]打开里面的Compatibility Flags打数值数剧改为0;假如没有{1663ed61-23eb-11d2-b92f-008048fdd814}项,则新建一个。

    新建注册表中注册项:

    对于安装好控件后仍然不能打印的可以尝试如下操作:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{1663ed61-23eb-11d2-b92f-008048fdd814}]
    "Compatibility Flags"=dword:00000000

    展开全文
  • 用到ScriptX.cab打印控件,总是提示 .printing.header为空或不是对象 //设置页眉页脚上下左右边距 form1.factory.printing.header = ""; form1.factory.printing.footer = ""; form1.factory.printing.topMargin=...
  • Ext.MessageBox.alert('系统提示','只有已审核的缴款流水才能打印小票!'); return; } var unit =renderUnit(rec.get('unitid')); var net =renderNet(rec.get('netid')); var ...
  • struts中,jsp操作有时候在页面里面给Form某个属性赋值的时候,页面提示**Form.**property.value为空或不是对象,但是在Form里面是定义了该对象的,为什么会出现这种情况呢,那是因为你没有把该属性显示的置于页面...
  • 提示 “ factory.printing 为空或不是对象”,这种现象是网页缺少安装必要的插件造成不能打印,一般情况下网页会提示安装控件, 如不能安装控件可能由以下原因造成: 1.IE网络等级设置过高,请降到中级或以下进行...
  • 程序可以运行,但无法取到javabean的数据,ie7打开弹出对话框:‘name’(name为javabean一个属性)为空或不是对象 ,firefox提示“item has no perpertise” ,我用的dwr版本是 2.02 ,其他也试过了一样的问题 ,搞了...
  • Excel VBA实用技巧大全 附书源码

    热门讨论 2010-10-08 18:59:24
    02026将工作簿设定加载宏工作簿解除加载宏 02027设定工作簿的文档属性信息 02028通过指定文件名打开工作簿 02029通过指定索引打开工作簿 02030通过对话框打开工作簿(之一) 02031通过对话框打开工作簿(之二) ...
  • 你必须知道的495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    5.16 考虑到有关指针的所有这些困惑,要求它们的内部表示都必须0不是更简单吗? 5.17 说真的,真有机器用非零指针吗,或者不同类型用不同的表示? 地址0上到底有什么? 5.18 运行时的整数值0转换指针...
  • flash shiti

    2014-03-14 10:32:41
    30.Flash变形过渡动画中的矢量图形设置形状提示的快捷操作是? A. Ctrl+Alt+S B. Ctrl+Shift+Z C. Ctrl+H D. Ctrl+Shift+Up 31.下图所示的对话框是什麽对话框? A. 笔刷样式编辑对话框 B. 线样式编辑对话框 ...
  • 千里马酒店前台管理系统V7使用手册

    热门讨论 2011-06-16 14:09:38
    中间的业务逻辑层以客单(预订单和入住登记表)核心,连接了客房、客人、客帐这三大业务对象,归纳了酒店主要业务处理的商业逻辑。如何避免排房冲突、如何确定房价等酒店业务规则,均在这一层中处理。 数据...
  • o 6.13 考虑到有关指针的所有这些困惑, 难道把要求它们内部表达都必须 0 不是更简单吗? o 6.14 说真的, 真有机器用非零指针吗, 或者不同类型用不同的表达? o 6.15 运行时的 ``指针赋值" 错误是什么意思...
  • 5.16 考虑到有关指针的所有这些困惑,要求它们的内部表示都必须0不是更简单吗? 89 5.17 说真的,真有机器用非零指针吗,或者不同类型用不同的表示? 90 地址0 上到底有什么? 90 5.18 运行时的整数值0...
  • 5.16 考虑到有关指针的所有这些困惑,要求它们的内部表示都必须0不是更简单吗? 89 5.17 说真的,真有机器用非零指针吗,或者不同类型用不同的表示? 90 地址0 上到底有什么? 90 5.18 运行时的整数值0...
  • 金蝶K3日常问题解决手册

    热门讨论 2009-11-26 15:40:50
    2.2 K3远程组件配置工具列表为空。 17 2.3 K3消息平台的应用中,粘贴附件。接受方不在同一计算机的情况不能查看。 18 2.4 K3在客户端进入凭证录入帐簿查询时,提示“文件/路径错误”的报错信息,提示框显示是金蝶...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    5.16 考虑到有关指针的所有这些困惑,要求它们的内部表示都必须0不是更简单吗? 60 5.17 说真的,真有机器用非零指针吗,或者不同类型用不同的表示? 61 地址0 上到底有什么? 61 5.18 运行时的整数值0...
  • 5.16 考虑到有关指针的所有这些困惑,要求它们的内部表示都必须0不是更简单吗? 60 5.17 说真的,真有机器用非零指针吗,或者不同类型用不同的表示? 61 地址0 上到底有什么? 61 5.18 运行时的整数值0...
  • 5.16 考虑到有关指针的所有这些困惑,要求它们的内部表示都必须0不是更简单吗?  5.17 说真的,真有机器用非零指针吗,或者不同类型用不同的表示?  地址0上到底有什么?  5.18 运行时的整数值0转换...
  •  5.16 考虑到有关指针的所有这些困惑,要求它们的内部表示都必须0不是更简单吗? 5.17 说真的,真有机器用非零指针吗,或者不同类型用不同的表示? 地址0上到底有什么? 5.18 运行时的整数值0转换...
  • 4) 修改静态编译后“读配置项”命令在第三个参数“配置项名称”为空文本时导致程序崩溃的BUG 5) 修改高级选择夹中的组件在窗口载入后强制得到焦点的BUG 6) 修改MYSQL支持库跨静态编译的EXE和DLL传递连接句柄和...
  •  1017 系统试图将文件加载还原到注册表中,但是,指定的文件不是注册表文件格式。  1018 试图在注册表键(已经标记删除)中完成的操作非法。  1019 系统无法在注册表日志文件中分配所需的空间。  1020...
  •  5.16 考虑到有关指针的所有这些困惑,要求它们的内部表示都必须0不是更简单吗?  5.17 说真的,真有机器用非零指针吗,或者不同类型用不同的表示?  地址0上到底有什么?  5.18 运行时的整数值0转换...

空空如也

空空如也

1 2 3 4 5
收藏数 100
精华内容 40
关键字:

打印提示为空或不是对象