2010年7月7日星期三

Bing Maps Tile System

关于bing地图的切块规则,和google是一样的

主旨:

"Bing Maps Tile System"
- Bing Maps Tile System查看 Google 边栏评注

flash平台性能优化

优化 Flash 平台的性能 最大程度减小 CPU 使用量 优化的另一个重要部分是 CPU 使用量。优化 CPU 处理可提高性能,从而延长移动设备上的电池寿命。 * 针对 CPU 使用量的 Flash Player 10.1 增强功能 * 实例管理 * 冻结和解冻对象 * 鼠标交互 * 计时器与 ENTER_FRAME 事件 * 补间症状 本产品经 Creative Commons Attri

主旨: Adobe Flash Platform * 最大程度减小 CPU 使用量查看 Google 边栏评注

2009年5月8日星期五

匿名函数调用

一般匿名函数是这样调用的:
(function(){})()
还能这样调用:
+function(){}()
typeof function(){}()
void function(){}()
new function(){}()
delete function(){}()

变态啊...

2009年4月23日星期四

各浏览器下的绘图

浏览器支持的绘图:
ie(貌似6+): vml(性能比svg和canvas差)
ff(貌似1.5+): (svg canvas) ff下canvas绘制的图像只能以矩形方式响应事件(貌似是这样)
safari(貌似3+): svg canvas(canvas以绘制的不规则区域响应事件,webkit内核)
chrome(貌似1+): svg canvas(canvas以绘制的不规则区域响应事件,webkit内核)
opera(貌似9+): svg canvas

各地图厂商使用的绘图技术:
google ie(vml) ff和opera(svg) safari和chrome(canvas)
mapbar ie(vml) 其余浏览器(canvas) mapbar解决了svg两个bug,非常不错!!!
mapabc flash
51ditu ie(vml) 其余浏览器(用一像素div拼,这样的问题很明显...性能不好,且没有虚线)

性能排序(canvas(调用浏览器底层的c++绘图api) svg vml,本人瞎猜,请勿相信)


注意:
svg (ff是以边的中心为起点,safari和chrome以边为起点,webkit内核有难缠的bug)
另注意:在svg下,事件响应在path时,offsetParent为空.

注意bug:

bug1:解决方法,viewBox起始不要为负数
bug重现,在safari和chrome下面,使用opacity会导致边框被切(当viewBox有负数,如svgns.setAttributeNS(null,"viewBox","-5 -5 200 200")),被切的距离就是那个负数值(好像也不完全是)
被切示例如下:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
style="top:60px;left:60px; overflow: visible; position: absolute;" width="6px" height="93px" viewBox="-3 -3 6 93">
<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke="#0000FF" stroke-width="3px" stroke-dasharray="" d="M 0 0 L 0 87"/>
</svg>


bug2:解决方法,(mapbar的解决方法,目前没看懂)
bug重现,移动svg,左上和右上各有一部分不跟着绘制,并且有残影效果
bug解决(大力感谢mapbar,简直比Google还强!!!),


<marker id="svgArrow" viewBox="0 0 10 10" refX="6" refY="5" markerUnits="strokeWidth" orient="aotu">
<path d="M 0 0 L 10 5 L 0 10 L 4 5 z" fill="#FF0000" fill-opacity="0.6">
</marker>

var spath= document.createElementNS(svgNamespace, "marker");
svgns.appendChild(spath);
var mpath=document.createElementNS(svgNamespace, 'path');
var dp="M 0 0 L 1 1";
mpath.setAttributeNS(null,"d",dp);
spath.appendChild(mpath);

2009年4月18日星期六

fixed定位下offsetParent问题

代码如下(dtd省去),一个网友提供的,

position为fixed时;各浏览器返回的offsetParent不相同,

ie7返回null
ie6返回div
ff返回body
safari返回div
chrome返回div
opera返回div



<style type="text/css">
#target{position: fixed;}
</style>
<script type="text/javascript">
window.onload=function(){
  vartarget=document.getElementById('target');
alert(vartarget.offsetParent.tagName);
 };
</script>
</head>
<body>
<div id="outer" class="test">
  <div id="inner" style="position:absolute;">
    <div id="target" class="test">Target<br/>rainman</div>
  </div>
</div>
</body>
</html>

2009年4月16日星期四

认识 reflow

怿飞blog:
http://www.planabc.net/2009/04/13/reflow/

aoao blog:
http://www.aoao.org.cn/blog/2008/05/reflow/

流放之忆 blog:
http://www.missormiss.com/reflow.html

2009年4月15日星期三

flash9下保存文本文件的方法(只支持IE)

flash10可以保存文件,会弹出一个文件保存对话框,不过flash9就不行了,可以借助于一个IE的函数实现:execCommand("saveAs",true,"a.txt"),只能保存以下几种格式:1,html 2,xml 3,txt

代码如下:
flash.net.navigateToURL(new URLRequest('javascript: var b=window.open(); '
+' b.document.open();'
+' b.document.write("dwdwadwadwadawde"); '
+' b.document.close(); '
+' b.document.execCommand("saveAs",true,"a.txt");void(0)'),"_self");