分类为 "JavaScript" 的文章

使用滔滔给WordPress添加博主状态

断桥残雪在写Follow5 WordPress插件以及Follow5 API的时候就已经知道了腾讯QQ的滔滔接口,可是腾讯QQ的滔滔一直很低调,不知是因为害怕出现饭否的结局呢?还是腾讯根本不想推广,如果腾讯推广滔滔,凭着QQ的强大用户群体,应该是轻而易举的。滔滔是QQ的一个微博,功能上类似于国外的twitter,我在很早就获得了滔滔未公布的API接口,比如我的滔滔的接口地址是:http://www.taotao.com/cgi-bin/msgj?qq=94756618&num=10&t=1

接口参数解释:
qq:QQ号
num:获取滔滔的条数
t:类型,目前我测试只有0,1两个类型,其他的类型应该也存在可是好像官方屏蔽了,0为自己的滔滔内容,1包括自己给好友的滔滔内容

滔滔接口返回的数据时JSONP的格式,如果你JS比较熟悉并且想自己安排滔滔显示的内容,可以自己根据API返回的数据格式写一个doApi的JS函数,关于获取滔滔头像图片地址的方法点击此处。如果你不是很熟悉可以参考滔滔官方的doApi代码,地址是:http://www.taotao.com/js/dkapi.js。当然断桥残雪也根据滔滔官方的doApi函数的代码改写了一个适合大众使用的一段JS代码,此代码可以获取滔滔最新的状态,添加到固定ID的div中去。
继续阅读全文……

7个JavaScript在IE和Firefox浏览器下的差异写法

今天发现一篇不错的文章,特来转载一下,方便学习使用。
英文地址:http://www.impressivewebs.com/7-javascript-differences-between-firefox-ie/
尽管那需要用长串的、沉闷的不同分支代码来应付不同浏览器的日子已经过去,偶尔还是有必要做一些简单的区分和目标检测来确保某块代码能在用户的机器上正常运行。在这篇文章中,作者介绍了7个JavaScript在IEFirefox中存在的差异。
另外断桥残雪刚刚整理了一部分javascript在IE和Firefox下的差异写法:《Javascript在IE与Firefox下的差异写法总结

1. CSS “float” 值

访问一个给定CSS 值的最基本句法是:object.style.property,使用驼峰写法来替换有连接符的值,例如,访问某个ID为”header”的<div>的 background-color值,我们使用如下句法:

document.getElementById("header").style.backgroundColor= "#ccc";

但由于”float“这个词是一个JavaScript保留字,因此我们不能用 object.style.float来访问,这里,我们可以在两种浏览器中这么做:
在IE中这样写:

document.getElementById("header").style.styleFloat = "left";

在Firefox中这样写:

document.getElementById("header").style.cssFloat = "left";

继续阅读全文……

jQuery选择器使用详解

随着jQuery的风靡,有很多关于jQuery选择器的文章,可是很多人没有系统的学过或者总结过jQuery的选择器使用方法,本文主要跟大家讨论一下jQuery的选择器的用法,针对于不同的jQuery用户,从基础说起,带您领略jQuery强大的选择器。

在跟大家分享自己的jQuery选择器的使用方法之前,我想跟大家说一个Tip,当你使用jQuery选择器的时候,有时候我们却不一定使用jQuery的选择器里面的函数,而是要简单的返回HTML对象,如果使用getElementById之类选择出HTML对象,就比较麻烦了,再说我们强大的jQuery选择器就浪费了,在这里我通过Firebug查看了jQuery选择器返回的对象,发现原来$(”#id”)[0]就是我们要的HTML对象,比如我们要取其中的innerHTML就可以使用$()[0].innerHTML。

关于jQuery选择器

通过jQuery的参考手册 我们可以看见jQuery的选择器分为:基本、层次、简单筛选、内容、可见性筛选、属性筛选、子元素、表单以及表单及其属性,共九种选择器类型,本文主要介绍基本选择器、属性、简单筛选、内容筛选这几个常用的选择器。如果能熟练掌握这几个选择器,那么我们的jQuery选择器就已经很熟练了

jQuery基本选择器

jQuery的选择器跟CSS的选择器很接近,甚至于跟CSS的选择器统一,这样就比较容易学习,简单选择器就是我们常用的CSS的ID和Class选择器,例如下面的代码把id为world的html内容改为“Hello World!”
继续阅读全文……

js判断浏览器的函数,可区分chrome,safari

在jQuery浏览器判断出错之后,我曾经写过一篇问章《jQuery浏览器判断一个bug,以及修改建议》,说到了jQuery浏览器判断函数$.browser的修改意见,今天我再写两个js判断浏览器的函数

浏览器判断的对象mybrowser

var browserName = navigator.userAgent.toLowerCase();
mybrowser = {
	version: (browserName.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1],
	safari: /webkit/i.test(browserName) && !this.chrome,
	opera: /opera/i.test(browserName),
        firefox:/firefox/i.test(browserName),
	ie: /msie/i.test(browserName) && !/opera/.test(browserName),
	mozilla: /mozilla/i.test(browserName) && !/(compatible|webkit)/.test(browserName) && !this.chrome,
        chrome: /chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)
}

继续阅读全文……

jQuery1.4浏览器判断函数bug仍然存在

今天看了一下jQuery1.4Alpha2的代码,发现jQuery1.4Alpha2中的浏览器判断仍然没有添加对Chrome的判断,这是我想起了以前写过的一篇文章——《jQuery浏览器判断一个bug,以及修改建议》。我使用的测试代码如下:

<script src="http://code.jquery.com/jquery-1.4a2.js"></script>
<script>
alert($.browser.safari);
</script>

上面的代码在chrome中仍然是true,对于现在chrome的流行,jQuery1.4竟然漠视,不知道何解?
jQuery1.4中的源代码如下:

browser: {
		version: (/.*?(?:firefox|safari|opera|msie)[\/ ]([\d.]+)/.exec(userAgent) || [0,'0'])[1],
		safari: /safari/.test( userAgent ),
		opera: /opera/.test( userAgent ),
		msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
		firefox: /firefox/.test( userAgent )
	}
jQuery.browser.mozilla = /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent );

断桥残雪部落格再次提醒如果用到jQuery浏览器函数的,要特别处理一下chrome跟safari~不要导致判断错误,如果jQuery1.4正式版修复了这个bug,那就更好啦~
关于浏览判断函数可以参考以下两篇文章:
1、《jQuery浏览器判断一个bug,以及修改建议
2、《js判断浏览器的函数,可区分chrome,safari

利用浏览器书签实现的网页划词翻译工具

由于搜狗云输入法提出一种新的概念,我们发现原来浏览器的收藏书签也可以这样玩~哈哈~我在云输入法发布最早就分析过云输入法(搜狗云输入法的简单分析),今天公司同事写了一篇教程,使用google API浏览器书签中添加网页划词翻译工具,感觉不错,特转了分享之,原文地址:教程:编写放在收藏夹里的网页划词翻译工具

随着互联网技术的发展,越来越多的传统计算机应用被移植到了web上,目前流行起了一种“放在收藏夹里的工具”,点一下收藏书签,无需安装运行,便可以开始使用强大的功能。
比如搜狗云输入法(搜狗云输入法的简单分析)、人间网转帖工具等,都是应用了这种方式。
这种方式的优点是显而易见的:

· 无需安装,随点随用;
· 跨操作系统、跨平台,只要有浏览器就可以使用;
· 程序放在服务器上,可以随时更新升级;
· …

这种看似很强大的应用,其实它的原理很简单,实现也很容易,今天我们就基于这一理念,利用google翻译API,一起做一个简单的网页划词翻译工具,和大家一起学习和理解这一种创新的互联网应用模式。
继续阅读全文……

JavaScript跨浏览器的添加删除事件绑定函数

现在浏览器太多了也使我们前端开发人员慌了手脚,今天刘洋在写《教程:编写放在收藏夹里的网页划词翻译工具》的时候,问起来绑定事件的函数,由于一直使用jQuery开发,我都差点忘记了最原始的js添加绑定事件的方法啦~抽空立马写两个函数,以备不时之需。

javascript跨浏览器添加事件绑定 bind()

IE 的事件绑定函数是 attachEvent;而 Firefox, Safari 是 addEventListener;Opera 则两种都支持。使用jQuery就可以使用简单的bind(),或者$().click()之类的函数解决,而如果不使用JavaScript框架的时候,大家可是使用下面的封装bind()函数。

/************************************
 * 添加事件绑定
 * @param obj   : 要绑定事件的元素
 * @param type : 事件名称。不加 "on". 如 : "click" 而不是 "onclick".
 * @param fn    : 事件处理函数
 ************************************/
function bind( obj, type, fn ) {
    if ( obj.attachEvent ) {
        obj['e'+type+fn] = fn;
        obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
        obj.attachEvent( 'on'+type, obj[type+fn] );
    } else
        obj.addEventListener( type, fn, false );
}

继续阅读全文……

使用ZeroClipboard解决跨浏览器复制到剪贴板的问题

导言

之前在开发普加09年国庆中秋祝福页面复制链接功能时,遇见在Firefox,Chrome,Opera,Safari能复制链接的兼容性问题,而在近期上线的普加地图产品中使用的是Flash的flashvars来传入参数来解决了这个问题。其实开发中经常会用到复制的功能,在 IE 下通过JavaScript的window.clipboardData.setData可以简单实现复制到剪贴板功能。最后终于找到了终极解决方式:使用jhuckaby写的Zero Clipboard的js类库。此方法利用 Flash完成进行复制内容到剪贴板,所以只要浏览器装有Flash 就可以复制内容。

Zero Clipboard的实现原理

Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板

Zero Clipboard的安装方法

其实也不算安装啦,就是使用前的准备工作。
首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js 和 ZeroClipboard.swf 放入到你的项目中。

Zero Clipboard : [项目主页] [zip下载] [在线演示]

继续阅读全文……

jQuery1.4 Alpha 2发布

作为一个jQuery的发烧友,对于jQuery1.4版本的新闻十分的关心,刚刚收到消息,jQuery1.4α2版本已经发布了。下面是我从jQuery官方博客获得的消息:

jQuery1.4 Alpha 2已经发布啦!这是jQuery1.4的第二个Alpha测试版本(第一版的发布链接),这个版本的代码是稳定的(并且在所有市面上流行的浏览器中通过了测试)

获取jQuery1.4 α2版本
未压缩版本:http://code.jquery.com/jquery-1.4a2.js
压缩版本:http://code.jquery.com/jquery-1.4a2.min.js

注意:如果您使用jQuery1.4 Alpha2版本,并且遇到了bug,请使用未压缩版本,它可以更加简单的找到错误的代码所在的位置。

目前所知道1.4版本的功能上相对版本 1.3.2进行了一些扩展,包括:

  1. live 方法被大幅度检修,现在支持提交,更改,mouseenter,mouseleave,焦点,模糊在所有浏览器活动。现在还支持背景和数据。
  2. append, prepend 方法优化
  3. add has been adjusted to always return elements in document order.
  4. find, empty, remove, addClass, removeClass, hasClass, attr, and css 等方法进行了重构,大大的优化

第11页 / 共12页 6789101112
返回顶部