当前位置:  编程技术>WEB前端
本页文章导读:
    ▪nodejs上HTML分析利器node-jquery            首先描述产生这篇随笔的场景:我需要获取项目在jenkins构建的最新Javascript Coverage显示在供管理层次查看的项目情况Report上,但是由于jenkins没有直接的API取得数据所需.........
    ▪光标从编辑器移入本页面中的其它输入域后,IE中每次只在编辑器首部插入内容      做编辑器开发时碰到的 重现步骤:  1. 将光标点到文本“some text”的末尾(想在“some text”后插入内容)      2. 将光标点到“输入域”的文本框    .........
    ▪jquery版本升级引发的问题和解决方法       jQuery 2.0将移除对IE6/IE7/IE8的支持 近日,jQuery Core团队发布了jQuery 1.8 Beta 1。其代码位于jQuery CDN上,地址是http://code.jquery.com/jquery-1.8b1.js。GA版预计于这个月发布。jQuery Core团队还谈到了他们对.........

[1]nodejs上HTML分析利器node-jquery
    来源:    发布时间: 2013-11-06

      首先描述产生这篇随笔的场景:我需要获取项目在jenkins构建的最新Javascript Coverage显示在供管理层次查看的项目情况Report上,但是由于jenkins没有直接的API取得数据所需数据,所以我们只能从自建的容器发布Javascript Coverage数据API,供Report项目使用。

     由于采用简单的数据分析,只是Host一个简单的web Server,所以本人不喜欢Tomcat,IIS这类大型工具,显得有点杀鸡用牛刀,班门弄斧。我更喜欢node.js这类简易的web容器。所以项目采用node.js,并node.js天然的javascript与html操作的天然一体,借助DOM结构使得解析Html更容易,简洁。

      Node.js解析HTML DOM的当然是htmlpaser,jsdom。然而个人更喜欢jQuery的风格,与web jQuery的统一API,所以选择了node-jquery.其代码部署在Github的https://github.com/coolaj86/node-jquery.

     下面是本人写个一个简单demo:  抓取Github Popular project打印在控制台输出。

1 var $ = require('jquery');
2
3
4
5 String.format = function() {
6
7 var s = arguments[0];
8
9 for (var i = 0; i < arguments.length - 1; i++) {
10
11 var reg = new RegExp("\\{" + i + "\\}", "gm");
12
13 s = s.replace(reg, arguments[i + 1]);
14
15 }
16
17
18
19 return s;
20
21 };
22
23
24
25 $.get("https://github.com/popular/forked",function(html){
26
27
28
29 var $doc = $(html);
30
31 console.log("No. name language star forks ")
32
33 $doc.find("ul.repolist li.source").each(function(i,project){
34
35
36
37 var $project = $(project);
38
39 var name = $project.find("h3").text().trim();
40
41 var language = $project.find("li:eq(0)").text().trim();
42
43 var star = $project.find("li.stargazers").text().trim();
44
45 var forks = $project.find("li.forks").text().trim();
46
47 var row =String.format("{4} {0} {1} {2} {3}",name,
48
49 language,star,forks,i + 1 );
50
51
52
53 console.log(row);
54
55 });
56
57 });

此项目寄宿在我Github https://github.com/greengerong/node-jquery-demo。仅供了解node-jquery学习demo,欢迎指教。

 

本文链接


    
[2]光标从编辑器移入本页面中的其它输入域后,IE中每次只在编辑器首部插入内容
    来源:    发布时间: 2013-11-06

做编辑器开发时碰到的

 

重现步骤:

  1. 将光标点到文本“some text”的末尾(想在“some text”后插入内容)

    

  2. 将光标点到“输入域”的文本框

    

  3. 点击“插入HTML”按钮

 

结果:

  1. IE6-10中每次都在编辑器最前面插入内容

  

  2. Firefox/Chrome/Safari中每次都在编辑器后面插入内容

 

原因:

应该是IE bug, 即光标离开编辑器,移入本窗口的另一个输入域后。IE不能记忆编辑器上一次的光标位置,这时插入内容时每次都在最前面插入。 其它浏览器则能记忆上一次光标位置,能满足用户需求。

解决方案

所有的编辑器如UEditor、KindEditor、新浪邮箱,博客编辑器都弹出一个窗口级的对话框(内含iframe),也包括cnblogs的博客编辑器。该页面里的输入域不会影响。   

 

重现的源码

IE-Editor.zip

本文链接


    
[3]jquery版本升级引发的问题和解决方法
    来源: 互联网  发布时间: 2013-11-06
jQuery 2.0将移除对IE6/IE7/IE8的支持
近日,jQuery Core团队发布了jQuery 1.8 Beta 1。其代码位于jQuery CDN上,地址是http://code.jquery.com/jquery-1.8b1.js。GA版预计于这个月发布。jQuery Core团队还谈到了他们对于jQuery下一个版本1.9与2.0的规划
近日,jQuery Core团队发布了jQuery 1.8 Beta 1。其代码位于jQuery CDN上,地址是http://code.jquery.com/jquery-1.8b1.js。GA版预计于这个月发布。jQuery Core团队还谈到了他们对于jQuery下一个版本1.9与2.0的规划,并且提到将要移除对IE6/7/8的支持。
jQuery 1.8中文手册下载
下面是1.8版值得关注的一些变化。
 
定制化
jQuery 1.8有一个基于grunt的全新构建系统,你可以通过它轻松构建自定义的jQuery版本。你现在可以将不需要的模块排除在外以使得jQuery尽可能地小。要想构建自己的自定义版本,请克隆jQuery repo并使用grunt将不需要的模块排除掉。可选的模块有ajax、css、dimensions、effects与offset。比如说,要想移除所有可选的模块,使用的命令将会如下所示:
git clone git://github.com/jquery/jquery.git
cd jquery && npm install
grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset
这样会生成一个只有约21KB大小的定制化jQuery(最小化且经过gzip压缩)。注意到该功能是面向高级用户的,因为你必须得清楚项目的依赖关系,特别是所用的第三方插件之间的依赖关系。感兴趣的读者可以阅读jQuery README文件以了解完整信息。
 
自动化的厂商CSS前缀
$.css()会自动接收不带前缀的属性名,然后生成适合于当前浏览器的前缀。Web开发者将不必关心所有特定于厂商的属性名了。比如说在Chrome中,jQuery调用$("#myscroll").css("marquee-direction", "backwards")会将该CSS设为-webkit-marquee-direction: backwards。
 
$.Animation
jQuery动画代码得到了清理和增强,这是通过使用几个扩展点来实现的,这些扩展点能够简化动画的添加与修改。如果需要支持没有内建动画的老式浏览器,那么新的$.Animation则提供了坚实的基础。如果你只需要支持现代浏览器并且使用原生支持的动画,那么你可以完全忽略掉动画模块。注意,$.Animation相关的文档还在编写当中。
Sizzle选择器引擎更新
Sizzle是jQuery的CSS选择器引擎,在1.8版中它进行了一次较大规模的重写。重写的结果是对选择器匹配带来了性能上的提升,同时改进了大多数常见选择器的快捷方式。
 
XSS防护
jQuery 1.8引入了新的方法$.parseHTML,你可以通过它将输入指定为HTML,并且知道他们将会被解析为HTML。这是$()无法做到的,因为它还会将输入字符串解析为选择器。$.parseHTML还提供了一种方式将HTML解析为DOM块并控制脚本的执行。我们强烈建议大家使用$.parseHTML,特别是输入来自于不受信任的源如URL或是用户输入的情况下。jQuery 1.9做出了很多变化以实现更好的XSS防护,下文将会对其进行详述。
全局Ajax事件的附加
全局Ajax事件,如由$.ajax触发的ajaxStart,目前可以附加到任何元素上了——甚至是不在文档中的元素。这会导致效率的低下,因此jQuery 1.8将不建议使用该行为。
 
jQuery 1.9
下面是1.9版的规划,该版本将于2013年初发布。
XSS防护
根据设计,$()方法可以创建HTML元素并运行脚本(如果传递进来的是<script>标签)。但开发者有时会忘记这一点,将来自不受信任源的字符串传递给jQuery,这会导致跨站脚本(XSS)攻击。在jQuery 1.9中,对$()方法来说“看起来像是HTML”的规则将会得到更加严格的处理。一个字符串只有第一个字母是小于号才会被当作是HTML,否则就会被当作是CSS选择器。由于根据这些更加严格的规则,某些HTML字符串将无法被$()识别出来,因此请确保在使用该功能时仔细检查你的代码,也可以使用$.parseHTML作为替代函数。
移除$.browser与$.sub
从jQuery 1.3开始,$.browser就不建议被使用了,并且将于jQuery 1.9被移除。还在使用$.browser的开发者应该看看$.support或Modernizr以进行特性检测。其他选择有使用jQuery 1.9 compatibility插件、或是直接读取navigator.userAgent字符串。
从jQuery 1.7开始,$.sub就不建议被使用了,并且将于jQuery 1.9被移除。该函数会创建jQuery的一个新副本,其属性与方法可以被修改,同时又不会影响到原来的jQuery对象。事实证明,该函数并不是那么有用,因此将会被移到1.9 compatibility插件中。我们期望在移除掉这么多不建议使用的条目后,jQuery 1.9的文件尺寸能够变得更小一些。

    
最新技术文章:
▪css white-space:nowrap属性用法(可以强制文字不...
▪IE里button设置border:none属性无效解决方法
▪border:none与border:0使用区别
▪html清除浮动的6种方法示例
▪三个不常见的 HTML5 实用新特性简介
▪css代码优化的12个技巧
▪低版本IE正常运行HTML5+CSS3网站的3种解决方案
▪CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chr...
▪ie6,ie7,ie8完美支持position:fixed的终极解决方案
▪小技巧处理div内容溢出
▪html小技巧之td,div标签里内容不换行
▪纯CSS实现鼠标放上去改变文字内容
▪li中插入img图片间有空隙的解决方案
▪CSS3中Transition属性详解以及示例分享
▪父div高度不能自适应子div高度的解决方案
▪告别AJAX实现无刷新提交表单
▪从零学CSS系列之文本属性
▪HTML 标签
▪CSS3+Js实现响应式导航条
▪CSS3实例分享之多重背景的实现(Multiple background...
▪用css截取字符的几种方法详解(css排版隐藏溢...
▪页面遮罩层,并且阻止页面body滚动。bootstrap...
▪CSS可以做的几个令你叹为观止的实例分享
▪详细分析css float 属性以及position:absolute 的区...
▪IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解...
▪CSS小例子(只显示下划线的文本框,像文字一...
▪可以给img元素设置背景图
▪不通过JavaScript实现的自动滚动视差效果
▪div+CSS 兼容小摘
▪CSS的inherit与auto使用分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3