[译]原生全屏JavaScript API

前端开发  |  13年前

HTML 5的<video>是一个相当不错的标签,但是它刚发布的时间,最大的问题是它不能像Flash那样实现真正的全屏。幸好,几个月后,大部分浏览器已经原生地支持全屏。

全屏API简史

  1. 第一个原生的全屏接口是在Safari 5.0(和iOS)中添加的 webkitEnterFullScreen() 函数。不过,它只能用于<video>标签。
  2. 在Safari 5.1中,苹果修改了这个API使它更接近于Mozilla的全屏API草案(比苹果的实现更早)。现在,所有DOM元素都可以调用 webkitRequestFullScreen() 方法。
  3. Firefox和Chome表示它们将会添加原生全屏API支持,而且这个特性已经在Chome 15+以及Firefox Nightly中实现。

在2011年10月15日,W3C发布了一份全屏API草案(由Opera团队的一名成员编写),它跟Mozilla的草案有两个主要的不同点:

  1. Mozilla/Webkit使用大写字母'S'(FullScreen),但W3C则不是(Fullscreen);
  2. Mozilla/Webkit使用cancelFullScreen,W3C使用exitFullscreen
9996次阅读,2条评论

使用canvas绘制时钟

前端开发  |  13年前

准备工作

在HTML中指定一个区域放置时钟:

<div id="clock" style="position: relative;"></div>

时钟的一些外观设定:

var width = 260; // 桌布宽度
var height= 260; // 桌布高度
var dot = {
	x : width / 2,
	y : height / 2,
	radius : 6
}; // 圆点位置、半径
var radius = 120; // 圆半径
var borderWidth = 6; // 圆边框宽度
9444次阅读,4条评论

惠普4431s商用笔记本简单评测(下)

工作生活  |  13年前

正如上篇末尾所说,下篇主要谈一下此机的缺点,其中星星符号代表其缺点的严重程度。

电源适配器无指示灯(★)

这个问题在上篇也谈到过,适配器上无通电指示灯,无法知道当前是通电还是断电状态(有可能插座坏了或者松了)。此外,其实指示灯也可以使适配器更加美观。

HP 4431s与Lenovo F41电源适配器对比

光驱声(★)

每次开机以及从休眠唤醒时,光驱都会发出一些声响。虽然声音不大,但总感觉有点不爽。

2192次阅读,1条评论

惠普4431s商用笔记本简单评测(上)

工作生活  |  13年前

本来打算上一年入的笔记本,由于没有选到合适的机型而推到今年才出手。千挑万选之后,初步确定了两台机子,分别是Thinkpad E420sHP 4431s,均为i3版配置。最后选4431s的原因是,这款机带蓝牙、底板容易拆卸(方便清理灰尘、加内存),且在硬件配置差不多的情况下比E420s要便宜差不多2K。

机器在岗顶太平洋电脑城入手,价格不到¥4K5,加上开票以及8G内存,总价不到¥5K,赠品有单肩包、鼠标和鼠标垫。

外观

这机的A、C面都是金属拉丝,以银色为主。

HP 4431s

2137次阅读,5条评论

[译文]ECMAScript 5严格模式(Strict Mode)

前端开发  |  13年前

严格模式(Strict Mode)是ECMAScript 5的新特性,它允许你把整个程序,或者某个函数,放置在“严格”的操作语境中。这种严格的语境会防止某些特定的操作并抛出更多的异常。

虽然ECMAScript 5对ECMAScript 3是向下兼容的,但是在严格模式下,所有在ECMAScript 3中不赞成使用的特性都被禁用(或抛出错误)而不是兼容。

启用严格模式有以下好处:

  • 捕获一些编程错误,并抛出异常。
  • 阻止进行一些相对“不安全”的操作(例如访问全局变量),抛出异常。
  • 禁用一些让人迷惑的特性。

关于严格模式的大多数信息都可以在《ES5规范》[PDF]的第223页找到。

(注意:ECMAScript 5的严格模式跟Firefox的严格模式是不同的)

如何启用严格模式

在程序的开头添加这条语句即可对整段脚本启用严格模式:

'use strict';
2212次阅读,2条评论

分析MySQL的授权许可

其他开发  |  13年前

MySQL是开源软件,但开源不意味着免费,开源软件的使用应遵循该软件提供的使用授权许可。MySQL的授权许可是英文的,而且一直以来没有权威的中文译本,所以很多人都不清楚其中的细节。

最近我在做一些ASP.NET+MySQL的应用,特地对MySQL的授权许可进行了研究。

(以下说明,如有错误,欢迎指正)

使用MySQL作为数据库的应用是否会“被GPL”

MySQL开源软件(包括MySQL社区版数据库服务器、驱动程序和链接库等)是在GPL许可下提供的。GPL(General Public License)是一种开源许可,其大概的内容是:只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品也必须采用GPL协议,即必须也开源。

应用程序是否也必须采用GPL进行开源,是由如何去使用MySQL决定的。如果把MySQL数据库内嵌到应用程序中,成为了应用程序内部的一部分,则整个应用程序都必须遵守GPL的规定。而对于大多数Web应用,数据库并不是跟应用程序绑在一起的,数据库跟应用程序是产品间相互协作的关系,这种情况就不在GPL的约束范围之内。

3666次阅读,2条评论

GO比分开发总结

前端开发  |  13年前

最近一直在忙公司的第一款类客户端产品——GO比分

GO比分

网页具有强大的跨平台特性,HTML+CSS比任何其他界面制作方式都要强大和灵活。然而,网页无法实现Web范围外的一些功能(例如手机通知栏、铃声、震动等)。因此,还需要通过一个代理去调用,也就是客户端。所谓类客户端,就是穿了客户端这件“马甲”的网页

1859次阅读,12条评论

看图猜成语

工作生活  |  13年前

今天下午有同学在群里发了一张很特别的图,这图里面有35张小图,每个小图猜一个成语。群众的眼睛是雪亮的,很快就把35张图给破译了。事不宜迟,马上奇图共赏:

猜成语

3884次阅读,11条评论

多余的逗号

前端开发  |  13年前

JSON

在JSON格式中,逗号是多个属性键值对间的分隔符,例如:

var json = { id: 1, name: 'heero' };

但在编程的时候,很容易会画蛇添足,在最后一对键值对后也加上了逗号

var json = { id: 1, name: 'heero', };

在这种情况下,IE6、7会报错,但IE8以及其他浏览器则没有问题。

1906次阅读,2条评论

分享最近挑笔记本的一些经验

工作生活  |  14年前

自从I系列CPU(Westmere)推出以来,就吸引了不少人的关注,其性能比上一代CPU又有明显的提升,而且集成了显卡。恰好我的笔记本用了3年了,也想在今年换一台。虽然最后由于各种原因没换成,但也分享一下这几个月来挑本的经历,供要买本的朋友参考。

事先声明,我并不特别倾向于MAC和IBM,甚至故意不看这两种品牌,因为价格偏高。我主要关注的是硬件配置、散热、键盘手感。哦,对了,还有性价比,以下提到的机器价格都不超过6K5。(注:本文以下所有图片来自中关村在线

联想 Y460

联想 Y460

最初看上的是联想的Y460。这也是联想卖得最热的机器了,它的特点是硬件配置比较高、特色功能(比如分屏)比较多。

1076次阅读,4条评论