首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

前端er干干净净打印百度map的方法

2012-08-03 
前端er干干净净打印百度地图的方法由于百度地图的死活不改进的臭毛病,导致需要打印地图时就很不爽。毛病:1、

前端er干干净净打印百度地图的方法

由于百度地图的死活不改进的臭毛病,导致需要打印地图时就很不爽。

毛病:

1、多余的不需要打印的元素,比如logo, 空白的备注框,多余的文字和按钮。

2、默认至少会打印两页纸,第一页是内容,第二页往往是空白,造成很大的浪费。


我在百度地图的网站上提交了问题报告,几个月过去了没回应;在微博上向百度地图官博又提交了问题报告,对方回复说反馈給产品部门了,但又几十天过去了,涛声依旧。


作为一名有那么一点点挑剔的前端er,自然无法忍受,用自己的方法改变一下吧。


先从百度地图主界面,选“工具”下拉菜单,再点“打印”,会跳出打印页面。

在打印页面加载后,调出控制台,运行下面的js代码:

//干净打印百度地图var d=document,gi='getElementById',wp=d[gi]('wp'), mh=d[gi]('MapHolder'),t;wp.appendChild(mh);while(t=mh.previousSibling)wp.removeChild(t);while(t=wp.nextSibling)wp.parentNode.removeChild(t);wp.style.marginTop='50px';d.body.style.height='auto';d.documentElement.style.height='auto';d[gi]('MapHolder').style.pageBreakAfter='avoid';
运行完这个,就很清静了,再打印就OK。

这段主要做了2件事情,一是删除多余元素,节省打印空间,二是修正CSS,防止多打印1页空白。

这段脚本只保留地图区域,如果还要打印公交换乘等文字信息的,就不适用了。

打印的时候,我喜欢选横版打印,并且去掉标题,网址,页码等页头页脚内容。

热点排行