开发工具与关键技术:DW 前端
作者:陈芝番
撰写时间:2019.7.16
页面打印及预览指定区域,打印分多种方式:水晶报表打印,借助layui插件实现打印,页面打印及预览指定区域等。
Html部分:
JS部分:
Ajax请求总共有八种Callback
onSuccess
onFailure
onUninitialized
onLoading
onLoaded
onInteractive
onComplete
onException
<script>
window.onload = function(){
function isIE(){
//是否IE
return !!window.ActiveXObject;
}
//通过类获取元素的样式
function getClassName(className) {
var all = document.all ? document.all : document.getElementsByTagName( '*'),
es = new Array(),
l = all.length;
for ( var e = 0; e < l; e ++ ) {
if (all[e].className == className) {
es[es.length] = all[e];}
}return es;
}
//页面打印及预览指定区域=====Chrome 可以,其它等待打印机测试
function printAndpreview(){
var styleId = document.getElementById("styleId"),
_noprint = getClassName("noprint"),
_l = _noprint.length,
displayFun = function(dis){
for(var i = 0; i < _l; i++){
_noprint[i].style.display = dis;}
}
displayFun("none");
//将不被打印的区域隐藏
if(isIE()){
//是否是IE
/*注意有可能执行时,会出现没有效果的错误,
这时原因是可能你的浏览器限制了active对象的创建,只要取消限制就好了,取消方法如下:
打开你的ie浏览器internet选项—— 安全—— 自定义级别——
把对没有标记为安全的activex控件进行初始化和脚本运行设置为启用,这样在加打印按钮的时候,只要加个事件触发就好了。*/
wb.execwb(6,6)
}else{
window.print();
//非IE支持的方案
}
//将不被打印的区域显示
displayFun("block");
}
//页面打印及预览指定区域
document.getElementById("printAndpreview").onclick = function(){
printAndpreview();
}
};
AJAX即“Asynchronous Javascript+XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
异步:请求通过事件触发→服务器处理(这是浏览器仍然可以作其他事情)→处理完毕。
页面效果图如下:
结语:页面打印及预览指定区域,触发打印按钮的时候,只要加个事件触发就好了,最后等待打印机测试。