js网页打印,js打印,javascript局部打印,网页局部打印方法

在网页中经常看到有打印功能,点击之后,只针对特定区域进行的打印。网上看了一下,大体上有2中实现方法,一种是用css @media控制,另一种是直接用js控制。下面分别来对其进行说明一下!

一、css控制网页局部打印

关于css控制打印,我之前的一篇文章写过css @media,不知道大家有没有印象了~~主要是介绍Media Query方法,地址:http://www.haorooms.com/post/css3media

也引进了css2的media

 <link href="css/style.css" rel="stylesheet" type="text/css" media="all" />

media可以是all,也可以是print ,加入是print,那么这个css只有在打印的时候才加载。那么这样就好办了,我们可以写针对css打印的样式,有些地方在打印的时候不显示,那么直接用display:none来设置不就可以了嘛!

除了上面的这种写法之外,还可以这么写

@media print { 
.noprint { display: none; }
} 

当你打印的时候noprint 类下面的所有内容不显示,不打印的时候显示。

jquery的grep(),inArray(), map()及js的join,sort用法

我在前面的一篇文章中,转载了网友的一些jquery开发技巧和常用的方法:http://www.haorooms.com/post/jquery_shouji_all ,今天说一下jquery筛选数组的几个常用函数用法。

jquery grep()

用法:

jQuery.grep( array, function [, invert ] )  

array数组不解释,function(对象或者数组元素,整数或者数组的索引),invert 是一个布尔值

$(document).ready( function(){
       var array = [1,2,3,4,5,6,7,8,9];
       var filterarray = $.grep(array,function(value){
           return value > 5;//筛选出大于5的
       });
       for(var i=0;i<filterarray.length;i++){
           console.dir(filterarray[i]);
       }
       for (key in filterarray){
          console.dir(filterarray[key]);
       }
})

输出6、7、8、9 和6、7、8、9

var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];

arr = $.grep(arr, function( n, i ) {
  return ( n !== 5 && i > 4 );
});
$( "p" ).text( arr.join( ", " ) );

p标签显示“1, 9, 4, 7, 3, 8, 6, 9, 1” //arr中不等于5 并且索引值大于4的(第五个开始)

js中的join方法

CDN加速服务,CDN公共库汇总

CDN公共库是指将常用的JS库存放在CDN节点,以方便广大开发者直接调用。将JS库存放在服务器单机上相比,CDN公共库更加稳定、高速。 jQuery插件库为您提供百度、微软等提供的CDN节点地址,这些CDN公共库为您的应用程序提供稳定、可靠、高速的服务,包含全球所有最流行的开源JavaScript库。本文汇总重用CDN。

jQuery Migrate

jQuery官网CDN地址jQuery版本迁移辅助插件,用jquery不同版本开发的程序在修改jquery版本出现的兼容问题可以使用jQuery Migrate解决此问题 压缩:

<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

未压缩:

<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>

jQuery

百度CDN地址支持的版本: 2.0.3, 2.0.2, 2.0.1, 2.0.0,1.11.1, 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.2, 1.7.1, 1.7.0, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.6, 1.2.3

压缩:

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

未压缩:

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>

jQuery官方CDN地址支持的版本:2.1.1, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.2, 1.7.1, 1.7.0, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.6, 1.2.3

RequireJS模块化加载

引子

今天和一个朋友聊天的时候,谈到前端的模块化加载RequireJS,我瞬间短路了,我之前貌似没有用过RequireJS。朋友又问,那你们之间的模块化加载是怎么做的?我想了想,我们之前的很多项目大都是MVC 结构的。前端这块主要是控制器和视图,一般是即用即引,由于复杂度不够,没有搞什么模块化。但是我后来百度了一下,发现我对RequireJS并不陌生,很多项目中潜移默化的已经应用了,但是我没有注意罢了!例如,nodejs的引用方式和RequireJS差不多,nodejs集成的貌似是CommonJS。EXTJS5.0中,貌似集成了RequireJS。我之前在写EXTJS的时候,感觉好多写法就是RequireJS的写法(不是很确定,我也没有重新翻开extjs5.0进行查看验证,要是有说的不对的地方,大家留言指正一下!)

RequireJS模块化加载

本文主要是介绍RequireJS模块化加载,引进RequireJS,并不对其做深入研讨,因为我本身对RequireJS了解的不是很深入。引入RequireJS模块化加载,为后续继续学习打下基础。

RequireJS 简介

RequireJS 是一个非常小巧的 JavaScript 模块载入框架,是 AMD 规范最好的实现者之一。最新版本的 RequireJS 压缩后只有 14K,堪称非常轻量。它还同时可以和其他的框架协同工作,使用 RequireJS 必将使您的前端代码质量得以提升。 目前最新版本的 RequireJS 1.0.8 在 IE 6+、Firefox 2+、Safari 3.2+、Chrome 3+、Opera 10+ 上都工作的很好。

使用 RequireJS 加载 JavaScript 文件

即使您的 Web 前端由于种种历史原因还没有打算进行模块化的设计,RequireJS 作为 JavaScript 文件的加载器,还是可以帮助您来完成异步非阻塞的文件加载。

如案例一 所示,有两个 JavaScript 文件 a.js 和 b.js,里面各自定义了 myFunctionA 和 myFunctionB 两个方法,通过下面这个方式可以用 RequireJS 来加载这两个文件,在 function 部分的代码可以引用这两个文件里的方法。

案例一: 加载 JavaScript 文件

 <script src="./js/require.js"></script> 
     <script> 
    require(["./js/a.js", "./js/b.js"], function() { 
             myFunctionA(); 
             myFunctionB(); 
        }); 
     </script>

require 方法里的这个字符串数组参数可以允许不同的值,当字符串是以”.js”结尾,或者以”/”开头,或者就是一个 URL 时,RequireJS 会认为用户是在直接加载一个 JavaScript 文件,否则,当字符串是类似”my/module”的时候,它会认为这是一个模块,并且会以用户配置的 baseUrl 和 paths 来加载相应的模块所在的 JavaScript 文件。配置的部分会在稍后详细介绍。

这里要指出的是,RequireJS 默认情况下并没有保证 myFunctionA 和 myFunctionB 一定是在页面加载完成以后执行的,在有需要保证页面加载以后执行脚本时,RequireJS 提供了一个独立的 domReady 模块,需要去 RequireJS 官方网站下载这个模块,它并没有包含在 RequireJS 中。有了 domReady 模块,案例一 的代码稍做修改加上对 domReady 的依赖就可以了。

谷歌浏览器打不开,用谷歌搜索的办法

最为程序员,很多国外的技术,百度浏览器通常搜索不到,用谷歌能搜索到,但是最近大半年来,谷歌浏览器一直抽风。之前我用goagent.exe谷歌翻墙工具,还凑合能打开谷歌。但是最近一个月,翻墙工具也渐渐的打开速度很慢,最为习惯了谷歌搜索的朋友们,很是苦恼。

在谷歌浏览器打不开的这段日子,很多网上出现了修改DNS解析或者修改HOST 的方法来打开谷歌。这些方法有的还不错,但是有的是骗人的,大家使用的时候一定要谨慎。

我之前用过一种DNS解析的方法,如下:

DNS:42.120.21.30

但是有时候和我的网有冲突,有的朋友用的是不错的。

用谷歌搜索的方法

一、用谷粉搜搜

要是你实在不想修改任何东西,那你用谷歌的替代产品吧,随着谷歌打不开,出现了一款名为谷粉搜搜的搜索。