结构化Web编程语言Dart

Google发布的结构化Web编程语言Dart
地址 http://www.dartlang.org/

支持在浏览器上 (Chrome, Safari 5+, Firefox 4+) 和服务器上运行。在浏览器运行需使用编译器转换成JavaScript代码。

示例:

main() {
var s = 0;
for (var i = 0; i < 10; i++){
s += i;
}
print('Total:${s}');
}

官方有提供一个名为Dartboard的工具由于在浏览器中编写和调试代码。

Dartboard http://try-dart-lang.appspot.com/(被墙)

官方示例代码:
http://code.google.com/p/dart/

貌似被墙,先转一分语言规范文档文档到墙内,没有深入学习,故不做过多介绍。
[download id=”52″]

Updated:
由于Dartboard被墙无法访问,挂了个反向代理,供喜欢尝试Dart的朋友使用 http://dart.ioio.name/

Updated2:
官方Dartboard地址 http://try.dartlang.org/ (某些地区应该可以访问)

-EOF-

Hello Linode!

19号Linode新开东京机房,速度刚刚滴(测试)。

我选的最便宜的Linode 512,使用VPS的好处是可以自己任意折腾,给Apache配置了mod_pagespeed,在速度提高的同时,页面也由Page Speed做了优化,希望由此能改善页面加载性能。现在你访问的这个BLog已经使用的Linode东京节点。如果访问上有任何问题,欢迎留言。

我的Linode链接 http://www.linode.com/?r=8dd6ddd391fc320d9f55ad101e051bde767df599
推介码: 8dd6ddd391fc320d9f55ad101e051bde767df599

如果你正需要购买,欢迎使用~
-EOF-

给网站添加分享按钮

俗话说独乐乐不如众乐乐,在SNS,微薄火热的今天,看到有意思的东西当然是要分享的了。网络上也有很多公共的分享按钮可以拿来直接放在网站上,但是这些服务几乎都是需要在放置按钮的位置放JS代码,而这些提供的网站的速度又木又保证,大大打折了页面的加载速度。

于是,偶自己造轮子了,可以将JS放在页面最底部,等网页加载完成后再渲染分享按钮。
使用方法:
1.给网页需要放置分享按钮的位置放置分享标签

<ioio:share></ioio:share>

2.在页面底部载入JS资源文件

<script type="text/javascript" src="//ioio.name/tools/sharebutton.js"></script>

3.初始化页面的分享按钮

<script type="text/javascript"> 
var sb = new ShareButton({'loadcss':true});
sb.Render();
</script>

代码会自动去寻找页面上的分享标签,并添加分享按钮,目前支持分享到新浪微博和QQ空间,后续会添加其它按钮。

可配置的参数:

{
'loadcss': true,//是否载入默认css,自定义css将其设置为false
'button': ['qzone','sina'],//需初始化的按钮
'url': location.href,//页面url
'title': document.title.substring(0,70)//页面标题
}

演示 http://ioio.name/tools/sharebutton.html

如需使用,为避免我升级过程中的改动导致按钮不稳定,建议将相应的文件拷贝一份放置你自己的空间,欢迎使用,欢迎汇报bug。
-EOF-

SVG在IE9的IE7/IE8兼容模式下不能被正常检测的问题

今天踩到的第二个地雷了。
在IE9的IE7/IE8兼容模式下调用createElementNS(“http://www.w3.org/2000/svg”, “svg”)是会报错的。
调用前需要检测一下:

hasSVG = !!doc.createElementNS && !!doc.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect

参考资料:
https://github.com/highslide-software/highcharts.com/issues/189
-EOF-

String.prototype.split()兼容问题

IE的String.prototype.split()函数bug

脚本:

"a:b:c".split(/(:)/)

Firefox输出:

["a",":","b",":","c"]

IE7/8(含IE9兼容的模式)输出:

a,b,c

详细说明:
http://www.sitepoint.com/the-power-of-stringprototypesplit-almost/
http://blog.stevenlevithan.com/archives/cross-browser-split
http://blog.stchur.com/2007/03/28/split-broken-in-ie/

-EOF-