Lodop获取全部JS代码,传统JS模版的生成
Lodop模版有两种方法,一种是传统的JS语句,可以用JS方法里的eval来执行,一种是文档式模版,是特殊格式的base64码,此篇博文介绍传统JS模版的生成方法。
两种模版都可以存入一下地方进行调用,比如数据库等。
JS传统模版,文档式模版生成、加载、赋值,可查看本博客相关汇总博文索引:Lodop的JS模版代码、文档式模版 生成加载赋值博文索引
本文介绍的是如何获取JS传统模版,也就是打印设计的JS语句的代码,获取的是初始化和打印项内容,不包含最后的打印或预览,使用模版的时候可以决定是直接打印还是预览打印等。
本文测试代码为三个方法:
1.获取打印设计的返回值,关闭打印设计窗口的时候返回所有JS代码。
2.用LODOP.GET_VALUE("ProgramCodes",0),打印设计后关闭窗口,获取打印设计的所有JS代码。
3.用LODOP.GET_VALUE("ProgramCodes",0)语句,打印设计内嵌,无需关闭打印设计,就可以获取打印设计代码。
此外,打印维护也可返回全部的JS代码,可参考查看本博客另一篇博文,和打印设计返回代码差不多,只需要加一句话:Lodop设置打印维护返回打印语句代码。
测试代码:
1.打印设计关闭后,获取打印设计代码的返回值,返回全部的JS代码:(下文中的图一)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<a href="javascript:prn1_design()">打印设计</a><br>
<p><textarea rows="12" id="S1" cols="107" >返回的打印设计的JS语句</textarea>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_design() {
LODOP=getLodop();
if (LODOP.CVERSION)
CLODOP.On_Return=function(TaskID,Value){document.getElementById('S1').value=Value;};
document.getElementById('S1').value=LODOP.PRINT_DESIGN();
};
</script>
</body>
2.打印设计关闭后,然后用GET_VALUE("ProgramCodes",0)获取全部JS代码:(下文中的图二)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<a href="javascript:DisplayDesign()">进行打印设计</a>
<a href="javascript:;" onclick="javascript:getProgram();">获得该打印设计的全部程序JS代码:</a><br>
<p><textarea rows="12" id="S1" cols="107" >返回的打印设计的JS语句</textarea>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function DisplayDesign() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.PRINT_DESIGN();
};
function getProgram() {
LODOP=getLodop();
if (LODOP.CVERSION) LODOP.On_Return=function(TaskID,Value){document.getElementById('S1').value=Value;};
document.getElementById('S1').value=LODOP.GET_VALUE("ProgramCodes",0);
};
</script>
</body>
3.打印设计内嵌,不需要关闭,设计后,直接用GET_VALUE("ProgramCodes",0)获取全部JS代码:(下文中的图三)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<object id="LODOP2" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=810 height=407>
<param name="Caption" value="内嵌显示区域">
<param name="Border" value="1">
<param name="Color" value="#C0C0C0">
<embed id="LODOP_EM2" TYPE="application/x-print-lodop" width=810 height=407 PLUGINSPAGE="install_lodop.exe">
</object>
<a href="javascript:DisplayDesign()">打印设计</a><br>
<a href="javascript:;" onclick="javascript:getProgram();">获得该内嵌打印设计的全部程序JS代码:</a><br>
<p><textarea rows="12" id="S1" cols="107" >返回的打印设计的JS语句</textarea>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function DisplayDesign() {
LODOP=getLodop(document.getElementById('LODOP2'),document.getElementById('LODOP_EM2'));
LODOP.PRINT_INIT("");
LODOP.SET_SHOW_MODE("DESIGN_IN_BROWSE",1);
LODOP.SET_SHOW_MODE("SETUP_ENABLESS","11111111000000");//隐藏关闭(叉)按钮
LODOP.PRINT_DESIGN();
};
function getProgram() {
LODOP=getLodop(document.getElementById('LODOP2'),document.getElementById('LODOP_EM2'));
if (LODOP.CVERSION) LODOP.On_Return=function(TaskID,Value){document.getElementById('S1').value=Value;};
document.getElementById('S1').value=LODOP.GET_VALUE("ProgramCodes",0);
};
</script>
</body>
图示:
图一:该方法直接返回打印设计的返回值,c-lodop用回调,lodop直接返回。

图二:该方法关闭打印设计,用GET_VALUE("ProgramCodes",0)获取打印设计的全部代码。c-lodop需要回调函数,lodop直接 返回,本文三个方法写法兼容c-lodop和c-lodop。

图三:打印设计内嵌,不需要关闭,设计后,直接用GET_VALUE("ProgramCodes",0)获取全部JS代码,
注意:该方法用到了内嵌,只有身为浏览器插件的lodop可以内嵌,c-lodop无法内嵌浏览器,高版本的火狐谷歌不再支持np插件,无法使用c-lodop,因此高版本的火狐谷歌无法实现内嵌效果。

简单来说,就是两个方法获取打印设计返回全部代码:
1.用LODOP.PRINT_DESIGN();的返回值。
2.用LODOP.GET_VALUE("ProgramCodes",0);的返回值。
此外,还有打印维护加一个语句,可以把打印维护的返回值也改成全部的打印代码。
Lodop获取全部JS代码,传统JS模版的生成的更多相关文章
- LODOP 获取打印设计代码不带INIT初始化语句
前面的博文生成JS代码模版和文档式模版,生成的是带初始化语句的模版,如果想要打印多个,可以循环多个任务,什么是一个任务,可查看本博客相关博文:Lodop打印语句最基本结构介绍(什么是一个任务)一个任务 ...
- JavaScript 之 动态加载JS代码或JS文件
2.动态加载JS文件 <script type="text/javascript"> function loadScript(url, callback) { var ...
- JS获取按键的代码,Js如何屏蔽用户的按键
[From] http://www.zgguan.com/zsfx/jsjc/1181.html 在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress,onkeydown ...
- 重构JS代码 - 让JS代码平面化
js中的嵌套函数用的很多,很牛叉,那为何要平面化? 易懂(自己及他人) 易修改(自己及他人) 平时Ajax调用写法(基于jQuery) $.post('url', jsonObj, function ...
- 利用ajax获取到的网页源码不能执行js代码
今天觉得我的博客中加载腾讯微博的速度很慢,所以就想改写为js,本来以为直接新建一个页面,把获取函数移到新的页面中,原来的页面只要使用xmlhttp去GET一下,然后把div的innerhtml属性等于 ...
- JS代码平面化
重构JS代码 - 让JS代码平面化 js中的嵌套函数用的很多,很牛叉,那为何要平面化? 易懂(自己及他人) 易修改(自己及他人) 平时Ajax调用写法(基于jQuery) $.post('url' ...
- python 调用js代码
Python2 安装pyv8 pip install-egit://github.com/brokenseal/PyV8-OS-X#egg=pyv8 from pyv8 import PyV8 c ...
- JS代码执行机制
JS代码从编译到执行 我们写出一段JS代码,JS的引擎并不是按照我们书写的顺序从上到下顺序编译并且执行的,首先是按照自己的规则对我们的代码先进行编译,然后从上到下执行编译的代码. 在全局作用域中,JS ...
- 页面加载完之后在执行js代码
把代码写在 window.onload = function () { //js代码 //此处js代码是页面完全加载完之后执行 } 即可. 例: <script type="text/ ...
- 一个用于将sql脚本转换成实体类的js代码
以前写过一段C#,苦于编译才能用.这样的小工具最好是用脚本语言来编写,易于执行,也易于修改. js 代码 convert.js ------------------------------------ ...
随机推荐
- nginx+tomcat9+redisson+redis+jdk1.8简单实现session共享
一.环境安装 由于资源限制,在虚拟机中模拟测试,一台虚拟机,所有软件均安装到该虚拟机内 安装系统:CentOS Linux release 7.4.1708 (Core) CentOS安装选择版本:B ...
- 两个数字比较大小的方法 (分别应用if-else和条件运算符实现)
package com.Summer_0424.cn; /** * @author Summer * 两个数字比较大小的方法 * 分别应用if-else和条件运算符实现 */ public class ...
- 【转载】理解本真的REST架构风格
本文将带您领略REST架构的起源.与Web的关系.REST架构的本质及特性,以及REST架构与其他架构风格之间的比较. 引子 在移动互联网.云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过 ...
- redis学习(二)——String数据类型
一.概述 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的 ...
- D. Artsem and Saunders
一个变换题 给定f(x),[1,n]->[1,n] 构造g(x),h(x)满足: g(h(x))=x [1,n]->[1,m] h(g(x))=f(x) [1,m]->[1,n] 根 ...
- Jenkins Pipeline高级用法-ShareLibrary
1.Github配置 1.1 上传jenkinsfile到github https://github.com/zeyangli/ShareLibrary-jenkins.git 2.Jenkins配置 ...
- 图解Redis之数据结构篇——链表
前言 Redis链表为双向无环链表! 图解Redis之数据结构篇--简单动态字符串SDS提到Redis使用了简单动态字符串,链表,字典(散列表),跳跃表,整数集合,压缩列表这些数据结构 ...
- 企业IT架构转型之道,阿里巴巴中台战略思想与架构实战
前言: 晚上11点多闲来无事,打开QQ技术群,发现有关 '中心化与引擎化' 的话题,本着学习的心态向大佬咨询,大佬推荐一本书,我大概看了有四分之一的样子,对于我这种对架构迷茫的人来说,如鱼得水,于是特 ...
- 【开源】小程序、小游戏和Web运动引擎 to2to 发布
简单轻量跨平台的 Javascript 运动引擎 Github → https://github.com/dntzhang/cax/tree/master/packages/to Simple DEM ...
- 朱晔和你聊Spring系列S1E10:强大且复杂的Spring Security(含OAuth2三角色+三模式完整例子)
Spring Security功能多,组件抽象程度高,配置方式多样,导致了Spring Security强大且复杂的特性.Spring Security的学习成本几乎是Spring家族中最高的,Spr ...